powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ScktComp. Error 10049. Состояние сокета
3 сообщений из 3, страница 1 из 1
ScktComp. Error 10049. Состояние сокета
    #39877041
OxY63rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет.
На форму кидаю TClientSocket, TServerClient и три кнопки:
1. Запускает сервер
2. Подключает к серверу с заведомо несуществующим именем
3. Подключает к серверу с заведомо существующим именем (как по IP так и по hostname)

При подключении к серверу с заведомо несуществующим именем вылетает исключение 11001 (Этот хост неизвестен).

Теперь если подключаться к серверу с заведомо существующим именем вылетает исключение 10049 (Требуемый адрес для своего контекста неверен). В этот момент
Код: pascal
1.
2.
ClientSocket1.Socket.SocketHandle = -1
ClientSocket1.Socket.LookupState = lsLookupAddress


Если сейчас опять подключаться к серверу с заведомо существующим именем, то подключение устанавливается и
Код: pascal
1.
2.
ClientSocket1.Socket.SocketHandle <> -1
ClientSocket1.Socket.LookupState = lsIdle



Подскажите, пожалуйста, как обработать ошибку 11001, чтобы последующее подключение к серверу с существующим именем происходило с первого раза

Код:
Код: 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.
procedure TForm1.StartServerClick(Sender: TObject);
begin
  ServerSocket1.Port:=8888;
  ServerSocket1.Active:=true;
end;


procedure TForm1.CoonectToNonExistingClick(Sender: TObject);
begin
  ClientSocket1.Host:='notexisting';
  ClientSocket1.Port:=8888;
  ClientSocket1.Active:=true;
end;

procedure TForm1.ConectToExistsClick(Sender: TObject);
begin
  ClientSocket1.Host:='localhost';
  ClientSocket1.Port:=8888;
  ClientSocket1.Active:=true;
end;

procedure TForm1.ClientSocket1Error(Sender: TObject;
  Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
  var ErrorCode: Integer);
begin
  ShowMessage(inttostr(ErrorCode));
  ErrorCode:=0;
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  Showmessage('Connected');
end;
...
Рейтинг: 0 / 0
ScktComp. Error 10049. Состояние сокета
    #39877269
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OxY63rus,

Помнится там кроме свойства Host есть свойство Address - оно после первого подключения не заполняется, случайно?
И что будет если ему перед подключением принудительно присваивать '' (пустую строку)?
...
Рейтинг: 0 / 0
ScktComp. Error 10049. Состояние сокета
    #39877277
OxY63rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alekcvp, Address не заполняется. При всех ошибках
Код: pascal
1.
length(ClientSocket1.Address) = 0
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / ScktComp. Error 10049. Состояние сокета
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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