Текущий архив: 2008.04.13;
Скачать: CL | DM;
Вниз
TCPClient Найти похожие ветки
← →
plotn (2007-07-20 10:09) [0]Добрый день, господа. Я сразу извиняюсь за "ламерский" вопрос, но я правда не знаю как мне быть.
Проблема: мне нужно подключиться к TCP серверу, сказать ему "превед", он мне на это ответит. Все. Т.е. мне нужны ответные данные. Как я поступаю:
tcpClientCS: TTcpClient;
tcpClientCS.RemoteHost:="127.0.0.1";
tcpClientCS.RemotePort:="30100";
tcpClientCS.Connect;
посылаем данные:
if tcpClientCS.Connected then
begin
ss:=TStringStream.Create("");
i:=17; ss.Write(i,4);
i64:=0; ss.Write(i64,8);
i:=0; ss.Write(i64,4);
s:=ss.DataString;
tcpClientCS.SendBuf(pchar(s)^, length(s), 0);
end;
Обработчик клиента:
procedure TForm1.tcpClientCSReceive(Sender: TObject; Buf: PAnsiChar;
var DataLen: Integer);
begin
Memo1.Lines.Add("read");
memo1.Lines.Add(string(Buf));
end;
Проблема - в обработчик Receive данные не доходят!! Пробовал с инди компонентами - примерно тоже самое.
TCP сервер разраборан на .net моим знакомым, он же сделал пример, который читает из него данные, пример работает.
Более того, на сервере он сделал лог - что в него приходит и что уходит. Там явно видно что к нему доходит то, что я ему посылаю и он пишет туда же отправленный пакет. Но почему пакет не доходит до меня, я не могу понять.
← →
Сергей М. © (2007-07-20 10:17) [1]
> почему пакет не доходит до меня, я не могу понять
Доходит. Просто ты его не читаешь.
Событие OnReceive будет возбуждено не ранее чем ты вызовешь метод ReceiveBuf. а ты его вообще не вызываешь.
← →
plotn (2007-07-20 10:38) [2]Спасибо, просто не знал этого ;) вопрос снят!
Страницы: 1 вся ветка
Текущий архив: 2008.04.13;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.006 c