|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Eugene B. Berdnikov 2:5020/400 13 May 2003 17:03:29 To : "Oleg O. Ossovitskii" Subject : Re: CLOSE_WAIT trouble =( -------------------------------------------------------------------------------- Oleg O. Ossovitskii <o.ossovitskii@kgpa.ru> wrote: OOO> У меня клиент, когда нет коннекта постоянно пытается переконнектиться OOO> и при неудаче делает. OOO> OOO> shutdown(sock_fd, 2); OOO> close(sock_fd); Откуда такая странная последовательность? Зачем вообще прибивать "неудавшееся" соединение? Это бессмысленно. Разве shutdown(2) не возвращает ENOTCONN в этом случае? Проверьте. OOO> После подключения шнурка вижу 4 коннекта, вместо одного. Т.е. те OOO> коннекты, которые не получились они не исчезли, хотя я их и прибил. Те, которые не получились - должны быть в SYN-SENT. OOO> Hа сервере OOO> я завел таймаут - если нет запросов 30 секунда - вырубаемся. В итоге. OOO> Один конннект хороший и три дохлых. Hа сервере они FIN_WAIT_2 -> TIME_WAIT OOO> и закрылись. Это правильно. OOO> А на клиенте вот уже час примерно висят 3 CLOSE_WAIT и не уходят. CLOSE_WAIT - это когда peer закрыл соединение (получен FIN), но сокету еще не сказали close(). А совсем не то, что Вы думаете. OOO> Как их убить? Hа серевере я сокету таймаут ставил, на клиенте что OOO> делать? Я прочитал, что эти самые CLOSE_WAIT через 12 часов сами OOO> отсохнут. Ой. Это где же такое написано? OOO> Побыстрее никак нельзя? Кстати, если сервер сам закрывает OOO> соединение, или клиент закрывает соединение (например сделал все, что OOO> хотел и отключился) то все нормально и никаких остаточных FIN_WAIT_2 и OOO> CLOSE_WAIT не остается. OOO> И еще - разве CLOSE_WAIT должен быть не на стороне сервера? CLOSE_WAIT может быть с любой. OOO> Что он у меня с клиентской стороны делает? Демонстрирует какую-то ошибку программиста. OOO> Операционка у меня QNX 4.25 patch G, TCP/IP stack 4. Hо я думаю, что OOO> в данном случае подойдет рецепт из любого другого юникса. RFC793 - платформонезависимо. -- Eugene Berdnikov --- ifmail v.2.15dev5 * Origin: Institute for High Energy Physics, Protvino, Russia (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/3651e38a9075.html, оценка из 5, голосов 10
|