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

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

TClientSocket и потеря ресурсов Windows


Дмитрий2007 ©   (2007-09-13 13:26:00) 

Добрый вечер!  
Написаны программы сервер TCP и клиент TCP (TServerSocket, TClientSocket). Запускаем обе. Открываем диспетчер задач Windows, смотрим "Счетчик дескриптотов" TCP-клиента.

При удачном подключении к TCP-серверу в клиенте число дескрипторов увеличивается на 4, отключаемся - дескрипторы уменьшаются на 4.  

При неудачном подключении (например, задаем другой Port в клиенте, другой IP и пр.) дескрипторы увеличиваются на 3. И не уменьшаются.

При частых неудачных подключениях Windows начинает ругаться "больше нет свободных сокетов".

Почему и как этого избежать?
Просьба не предлагать другие TCP-компоненты.


Дмитрий2007   (2007-09-13 14:16:00) [1]

Помогло!
Спасибо!
вопрос исчерпан


Сергей М.   (2007-09-13 13:58:00) [2]


> Почему


Скорее по недосмотру Борланда. Хотя не исключено, что Борланд все же руководствовался по этому поводу какими-то соображениями.


> как этого избежать?


Оч просто - в обработчике OnError для случая выозникновения ошибки коннекта написать Socket.Close


Наверх

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