Привет.
На форму кидаю TClientSocket, TServerClient и три кнопки:
1. Запускает сервер
2. Подключает к серверу с заведомо несуществующим именем
3. Подключает к серверу с заведомо существующим именем (как по IP так и по hostname)
При подключении к серверу с заведомо несуществующим именем вылетает исключение 11001 (Этот хост неизвестен).
Теперь если подключаться к серверу с заведомо существующим именем вылетает исключение 10049 (Требуемый адрес для своего контекста неверен). В этот момент
ClientSocket1.Socket.SocketHandle = -1
ClientSocket1.Socket.LookupState = lsLookupAddress
Если сейчас опять подключаться к серверу с заведомо существующим именем, то подключение устанавливается и
ClientSocket1.Socket.SocketHandle <> -1
ClientSocket1.Socket.LookupState = lsIdle
Подскажите, пожалуйста, как обработать ошибку 11001, чтобы последующее подключение к серверу с существующим именем происходило с первого разаКод:
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;