![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как обработать Socket Error #100054? [D6, Win2k]
Aleksandr © (2002-04-19 11:43:00)Суть в том, что пользуюсь я TIdTCPServer и TIdTCPClient. Иногда происходит разрыв связи во время приема/передачи. При этом компонента TIdTCPServer остается активной, закрыть ее на ошибке выполнения клиентского потока нельзя. Соответственно, Клиент подключается снова и снова, потому что сервер типа доступен, а тот все время выдает упомянутую ошибку - то ли сокет остался открытым, то ли истчо что. Я могу, конечно, откуда-нибудь снаружи (из других потоков программы) установить флаг и проверять, не было ли ошибки связи, но что это за ошибка с сокетом (в смысле, какой Exception ей соответствует), чтобы флаг устанавливать только именно при ней, и как средствами виндов закрыть "висячий" сокет (просто переактивация сервера не помогает - он не может переинициализировать сокет)?
SemFLY (2002-04-22 20:49:00) [1]B Events\OnClientError поставь ErrorCode := 0;
И никаких ошибок выскакивать не будет ! :)