@ruJumi

Почему Delphi сервер отключается после первого запроса?

Доброго времени суток.
Пишу клиент-серверное приложение на Delphi, клиент должен отправляет параметры, сервер их обработать и отправить ответ. Пока что для проверки сделал отправку числа, сервер его множит и отправляет назад. Но сервер получает только 1 сообщение и отключается, и не отвечает.
Клиент
procedure TForm1.Button1Click(Sender: TObject);
begin
 TcpClient1.Open;
TcpClient1.Sendln(Edit1.Text + #10);
  ListBox1.Items.Add('< ' + Edit1.Text);
  TcpClient1.Close;
end;
procedure TForm1.TcpClient1Receive(Sender: TObject; Buf: PAnsiChar;
  var DataLen: Integer);
begin
   ListBox1.Items.Add('> ' + TcpClient1.Receiveln());
end;

Север
procedure TForm1.FormCreate(Sender: TObject);
begin
 TcpServer1.Open;
end;

procedure TForm1.TcpServer1Accept(Sender: TObject;
  ClientSocket: TCustomIpClient);
var c:integer;
begin
  memo1.lines.add(ClientSocket.Receiveln());
  c:=strtoint(ClientSocket.Receiveln());
  c:=c*5;
  TcpServer1.Sendln(inttostr(c)+#10);
end;

Что здесь не так?
  • Вопрос задан
  • 257 просмотров
Пригласить эксперта
Ответы на вопрос 1
alsopub
@alsopub
Вы два раза пытаетесь прочитать данные:
1) memo1.lines.add(ClientSocket.Receiveln());
2) c:=strtoint(ClientSocket.Receiveln());

Наверное нужно один раз прочитать вход в переменную, а затем уже с ней работать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы