Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TCPClient [D7]


plotn ©   (2007-07-20 10:09:00) 

Добрый день, господа. Я сразу извиняюсь за "ламерский" вопрос, но я правда не знаю как мне быть.
Проблема: мне нужно подключиться к 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 моим знакомым, он же сделал пример, который читает из него данные, пример работает.
Более того, на сервере он сделал лог - что в него приходит и что уходит. Там явно видно что к нему доходит то, что я ему посылаю и он пишет туда же отправленный пакет. Но почему пакет не доходит до меня, я не могу понять.


plotn   (2007-07-20 10:38:00) [1]

Спасибо, просто не знал этого ;) вопрос снят!


Сергей М.   (2007-07-20 10:17:00) [2]


> почему пакет не доходит до меня, я не могу понять


Доходит. Просто ты его не читаешь.

Событие OnReceive будет возбуждено не ранее чем ты вызовешь метод ReceiveBuf. а ты его вообще не вызываешь.


Наверх

Титульная страница Поиск, карта сайта Написать письмо