|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Oleg O. Ossovitskii 2:5020/400 12 May 2003 19:11:48 To : All Subject : CLOSE_WAIT trouble =( -------------------------------------------------------------------------------- Hello, All unix gurus! Есть у меня такая связка по TCP/IP client -> server вытаскиваю шнурок витой пары из сервера, жду минуту втыкаю. У меня клиент, когда нет коннекта постоянно пытается переконнектиться и при неудаче делает. shutdown(sock_fd, 2); close(sock_fd); После подключения шнурка вижу 4 коннекта, вместо одного. Т.е. те коннекты, которые не получились они не исчезли, хотя я их и прибил. Hа сервере я завел таймаут - если нет запросов 30 секунда - вырубаемся. В итоге. Один конннект хороший и три дохлых. Hа сервере они FIN_WAIT_2 -> TIME_WAIT и закрылись. А на клиенте вот уже час примерно висят 3 CLOSE_WAIT и не уходят. Как их убить? Hа серевере я сокету таймаут ставил, на клиенте что делать? Я прочитал, что эти самые CLOSE_WAIT через 12 часов сами отсохнут. Побыстрее никак нельзя? Кстати, если сервер сам закрывает соединение, или клиент закрывает соединение (например сделал все, что хотел и отключился) то все нормально и никаких остаточных FIN_WAIT_2 и CLOSE_WAIT не остается. И еще - разве CLOSE_WAIT должен быть не на стороне сервера? Что он у меня с клиентской стороны делает? Операционка у меня QNX 4.25 patch G, TCP/IP stack 4. Hо я думаю, что в данном случае подойдет рецепт из любого другого юникса. Best regards, Oleg O. Ossovitskii software engineer, KGPA Ltd., Kaliningrad, West Russia tel: +7(0112)46-23-40, fax: +7(0112)43-64-96 mailto:o.ossovitskii@kgpa.ru, icq# 33366588 -- Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5 * Origin: KGPA Ltd. Software lab (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/20749b67201d.html, оценка из 5, голосов 10
|