Здравствуйте, Linuxoid, Вы писали:
L>Кто-нибудь может обяъянить, почему после подключения к серверу и последующего отключения от него socklist (Linux) еще некоторое время показывает "мертвый" сокет? Если интенсивно подключаться к серверу и отключаться от него, число таких "сокетов-зомби" растет. Может ли это привести к Deny Of Service? (новые сокеты создаются accept()-ом, close() по окончанию работы с новым сокетом вызываю)
После закрытия соединения сокет переходит в состояние TIMED_WAIT2 и находится в нем 75 — 300 секунд (в зависимости от настроек ОС, а вообще не меньше чем 2*ВРЕМЯ ЖИЗНИ ПАКЕТА В СЕТИ). Это сделано для того, чтобы пакеты из предыдущего соединения, затерявшиеся в сети не попали в новое. Более подробно об этом можно прочитать в книжке Стивенса "Unix Network Programming".