![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TIDTelnetServer [D7, Win2k]
alt7 © (2003-08-13 11:35:00)
Добрый день всезнающий народ...
Не подскажите, как сделать, чтоб сабж откликался на команды (а то я сходу не нашел)
То есть, я к примеру пишу ему LAST (в клиенте), а он мне передает последние данные?
Reindeer Moss Eater (2003-08-13 15:18:00) [21]
begin
cCommand:=AThread.Connection.ReadLn;
end;
alt7 (2003-08-13 15:10:00) [22]
Гм, странная ситуевина получается: если я нажму ченить от клиента, тогда строки идут с сервера, иначе нет, то есть обработка застряет на первом куске... можно это как-то обойти?
Первый кусок:
if AThread.Connection.CurrentReadBuffer <> "" then
begin
gl_frcl := gl_frcl + AThread.Connection.CurrentReadBuffer;
if pos("ATAT",gl_frcl) <> 0 then
begin
Writeln("LAST granted");
gl_frcl := "";
AThread.Connection.InputBuffer.Clear;
with AThread.Connection do
begin
WriteLn("LT"+" "+arrS_last2[1]);
WriteLn("LT"+" "+arrS_last2[2]);
WriteLn("LT"+" "+arrS_last2[3]);
WriteLn("LT"+" "+arrS_last2[4]);
WriteLn("LT"+" "+arrS_last2[5]);
WriteLn("LT"+" "+arrS_last2[6]);
WriteLn("LT"+" "+arrS_last2[7]);
WriteLn("LT"+" "+arrS_last2[8]);
end;
end;
end;
Второй кусок, отправление ДРУГИХ данных клиенту <skipped>
Reindeer Moss Eater (2003-08-13 12:15:00) [23]
Если есть CommandHandlers, то их OnCommand + OnNoCommandHandler;
Если нет, то OnExecute
alt7 (2003-08-13 12:12:00) [24]
procedure IdTelnetSrvConnect(AThread: TIdPeerThread);
procedure IdTelnetSrvDisconnect(AThread: TIdPeerThread);
procedure IdTelnetSrvException(AThread: TIdPeerThread; AException: Exception);
procedure IdTelnetSrvExecute(AThread: TIdPeerThread);
procedure IdTelnetSrvAuthentication(AThread: TIdPeerThread;
const AUsername, APassword: String; var AAuthenticated: Boolean);
Вот такие процедуры есть у меня.
В последних двух я отсылаю данные клиенту. Штука в том, что клиент подключается и постоянно получает данные, то есть НИКАКИХ СТРОК он серверу не отсылает (имя и пароль не считаются)...
а теперь надо, чтоб клиент мог отправить команду LAST. В какой обработчик события надо поставить обработку эту.. и примерно как сделать-то?
Reindeer Moss Eater (2003-08-13 12:01:00) [25]
Напиши реализацию команд и это будет.