Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Клиент сразу же после подключения отключается от сервера / 3 сообщений из 3, страница 1 из 1
16.07.2018, 16:14
    #39674581
wevece
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент сразу же после подключения отключается от сервера
Делаю консольный клиент для TCP сервера, но почему-то после подключения к серверу, сразу же происходит отключение
Подскажите пожалуйста, как это исправить?

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
program client;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,
  ScktComp,
  StdCtrls;
 
var
  socket: TClientSocket;  
 
begin
  socket := TClientSocket.Create(nil);
  socket.Address := '127.0.0.1';
  socket.Port := 10000;
  socket.Open;
  
 
  // Вот в этом месте клиент уже отключился
 
 
  if socket.Active then writeln('Подключение выполнено')
  else writeln('Не удалось подключиться');
 
  // Поэтому тут показывает "Не удалось подключиться"
 
  sleep(30000); 
end.


Клиент подключается к серверу потому что сервер показывает окошко "Новое подключение", и в нём написано New connection - 127.0.0.1, но когда приложение-клиент закрывается (только когда закрывается, в этом случае после того как пройдут 30 секунд sleep) сервер показывает asynchronous socket error 10053


Код сервера: (это не тот TCP сервер, для которого я делаю клиент, это так сказать тестовый сервер)
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ScktComp, StdCtrls;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    socket: TServerSocket;
    procedure Button1Click(Sender: TObject);
    procedure socketClientConnect(Sender: TObject; Socket: TCustomWinSocket);
    procedure socketClientRead(Sender: TObject; Socket: TCustomWinSocket);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  socket.Port := StrToInt(edit1.Text);
  socket.Active := True;
end;
 
procedure TForm1.socketClientConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
  Application.Title := 'Новое подключение';
  ShowMessage('New connection - ' + Socket.RemoteAddress);
end;
 
procedure TForm1.socketClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Application.Title := 'New Message';
  ShowMessage(Socket.ReceiveText);
end;
 
end.



Модератор: Как мне оформить свое сообщение?
...
Рейтинг: 0 / 0
16.07.2018, 17:20
    #39674616
Tactical Nuclear Penguin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент сразу же после подключения отключается от сервера
почитай тут
...
Рейтинг: 0 / 0
16.07.2018, 18:16
    #39674640
wevece
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Клиент сразу же после подключения отключается от сервера
Tactical Nuclear Penguin, спасибо большое!
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Клиент сразу же после подключения отключается от сервера / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]