![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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