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

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

Как обработать 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;
И никаких ошибок выскакивать не будет ! :)


Наверх

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