lNet (FreePascal/Lazarus): отключиться после отправки сообщения

у меня проблема. Я использую TLTCPComponent с именем «Клиент».

Код выглядит так:

procedure TForm1.Create(Sender: TObject);
begin
   Client.Connect(ServerIP, Port); //ServerIP and Port are given...
   Client.SendMessage('SomeText');
end;

Серверное приложение получает соединение. Затем он получает строку '' и получает от клиента отключение.

Если я попробую следующее:

procedure TForm1.Create(Sender: TObject);
begin
   Client.Connect(ServerIP, Port); //ServerIP and Port are given...
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Client.SendMessage('SomeText');
end;

все в порядке. Сервер получает соединение от клиента. И если я отправлю текст с помощью кнопки, соединение останется открытым.

Теперь проблема: почему соединение закрывается, если я отправляю текст сразу после открытия?

Приветствую и благодарю, S-Man


person S-Man    schedule 27.08.2014    source источник


Ответы (1)


Решение: SendMessage приходит слишком быстро. Он должен вызываться в методе OnConnect.

person S-Man    schedule 27.08.2014