Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ClientSocket->ServerSocket. Не вызывается ClientSocketError [D5]


alex_ustasu ©   (2002-10-11 12:02:00) 

День добрый. Работаю с D5 и его winsock-компонентами.Чтобы проверить активен ли сервер, пытаюсь с ним соединиться Client-ом. При отсутствии сервера, возникает, естественно, ошибка, но Обработчик ClientError не вызывается, а сначала вызывается ClientSocketDisconnect, а затем в модуле OnLookup возникает ошибка с выдачей сообщения на экран(код 11001 WSAHOST_NOT_FOUND, как я понял и должно быть).Можно ли это обойти, обходясь только использованием ClientSocket?


alex_ustasu   (2002-10-11 15:10:00) [1]

Нашел одну статейку Кариха Николая, который утверждает, что при открытии Socket-а, ClientSocketError при ошибке действительно не вызывается. Надо использовать try ... except. Попробую...


alex_ustasu   (2002-10-11 13:44:00) [2]

Цепочку проследил такую от своего С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, мне непонятно), но мой обработчик не вызывается. А дальше пошло-поехало...


Алексей Ким   (2002-10-11 12:19:00) [3]

ну... ну... пройдись дебагером,
посмотри если есть связь между tclientsocket и clientsocket1error итд а вообще... это ошибка или exception?


alex_ustasu   (2002-10-11 12:16:00) [4]

Конечно. Говорю же, не вызывается ClientSocketError, вот в чем дело.


Алексей Ким   (2002-10-11 12:13:00) [5]

errorcode:=0?


Наверх

Титульная страница Поиск, карта сайта Написать письмо