Форум: "Сети";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];
ВнизClientSocket->ServerSocket. Не вызывается ClientSocketError Найти похожие ветки
← →
alex_ustasu (2002-10-11 12:02) [0]День добрый. Работаю с D5 и его winsock-компонентами.Чтобы проверить активен ли сервер, пытаюсь с ним соединиться Client-ом. При отсутствии сервера, возникает, естественно, ошибка, но Обработчик ClientError не вызывается, а сначала вызывается ClientSocketDisconnect, а затем в модуле OnLookup возникает ошибка с выдачей сообщения на экран(код 11001 WSAHOST_NOT_FOUND, как я понял и должно быть).Можно ли это обойти, обходясь только использованием ClientSocket?
← →
Алексей Ким (2002-10-11 12:13) [1]errorcode:=0?
← →
alex_ustasu (2002-10-11 12:16) [2]Конечно. Говорю же, не вызывается ClientSocketError, вот в чем дело.
← →
Алексей Ким (2002-10-11 12:19) [3]ну... ну... пройдись дебагером,
посмотри если есть связь между tclientsocket и clientsocket1error итд а вообще... это ошибка или exception?
← →
alex_ustasu (2002-10-11 13:44) [4]Цепочку проследил такую от своего СlientSocketDisconnect(почему-то он вызывается при ошибке в LookUp): возврат в
TCustomSocket.Event->TAbstractSocket.DoEvent->TCustomWinSocket.Event->TCustomWinSocket.Disconnect->TCustomWinSocket.CMLookupComplete. Он уже выдает сообщение об ошибке с помощью raise ESocketError.CreateResFmt(@sWindowsSocketError, [SysErrorMessage(Message.AsyncError), Message.ASyncError, "ASync Lookup"]).->TCustomWinSocket.WndProc вызывает еще Application.HandleException, который выдает еще одно сообщение об ошибке.
Т.е. LookUp(как я понял) завершается с ошибкой (зачем тогда надо выполнять Disconnect, мне непонятно), но мой обработчик не вызывается. А дальше пошло-поехало...
← →
alex_ustasu (2002-10-11 15:10) [5]Нашел одну статейку Кариха Николая, который утверждает, что при открытии Socket-а, ClientSocketError при ошибке действительно не вызывается. Надо использовать try ... except. Попробую...
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c