Показать сообщение отдельно
  #1  
Старый 04.03.2009, 16:32
anton-ny anton-ny вне форума
Прохожий
 
Регистрация: 04.03.2009
Сообщения: 3
Репутация: 10
По умолчанию ClientSocket и telnet

пробуя инди, телнет клиент и TCP-клиент, пришёл к выводу что надо использовать сокеты..... т.к. в ClientSocket есть событие ClientRead.

Предыстория: Есть железка, роутер с протоколом телнет. сокетом соединяюсь с ней, логинюсь, всё хорошо.
Теперь надо снять статистику в график с интервалом полсекунды.

Цитата:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Connected then
try
client.Socket.SendText('get stat1'+#13#10);
except
end;
end;

procedure TForm1.ClientRead(Sender: TObject; Socket: TCustomWinSocket);
begin
rtelnet:=client.Socket.ReceiveText;
if Pos('stat1',rtelnet)<>0 then
begin
//вытаскиваю значение
end;
end;

Прикол в том, что если этим методом запрашивать не одно значение через полсекунды, то девайс не успевает выдать ответ, как сразу же запрашивается следующее... как быть?
Может есть римерчик у кого, как с девайсов по значениям графики рисовать?
Ответить с цитированием