Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.09;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
14-28282
Nox
2002-11-18 16:18
2002.12.09
Установка Linux 1994 года.


4-28352
AndyDN
2002-10-28 12:21
2002.12.09
Размер стека потока


4-28334
riser
2002-10-26 17:56
2002.12.09
Сравнить реестр


14-28259
Gritzan
2002-11-17 21:28
2002.12.09
Мастера не такие вы уж и мастера!


4-28332
Renat
2002-10-23 16:55
2002.12.09
С помощью какой API - функции можно вызвать из моей программы..