The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"TIME_WAIT"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"TIME_WAIT"
Сообщение от Brick Искать по авторуВ закладки(??) on 23-Авг-04, 10:44  (MSK)
Добрый день!

Как заставить приложение не оставлять соединений такого типа: "tcp4       0      0  192.168.0.1.63009      192.168.0.1.2156       TIME_WAIT"???

Всем заранее спасибо.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

  • TIME_WAIT, XMan, 17:10 , 23-Авг-04, (1)
    • TIME_WAIT, Brick, 15:11 , 25-Авг-04, (2)
      • TIME_WAIT, klalafuda, 16:13 , 25-Авг-04, (3)
      • TIME_WAIT, XMan, 18:32 , 25-Авг-04, (4)
        • TIME_WAIT, klalafuda, 18:38 , 25-Авг-04, (5)
          • TIME_WAIT, XMan, 19:51 , 25-Авг-04, (6)
  • TIME_WAIT, qq, 01:42 , 26-Авг-04, (7)

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "TIME_WAIT"
Сообщение от XMan Искать по авторуВ закладки(??) on 23-Авг-04, 17:10  (MSK)
setsockopt(сокет,SOL_SOCKET,SO_REUSEADDR,(char *)&i,sizeof(i))

где int i=1

man socket

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "TIME_WAIT"
Сообщение от Brick Искать по авторуВ закладки(??) on 25-Авг-04, 15:11  (MSK)
>setsockopt(сокет,SOL_SOCKET,SO_REUSEADDR,(char *)&i,sizeof(i))
>
>где int i=1
>
>man socket

это только отключает сообщение об ошибке:"address already in use", а мне надо, чтобы соединения именно пропадали, а они висят,как зомби :(

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "TIME_WAIT"
Сообщение от klalafuda emailИскать по авторуВ закладки on 25-Авг-04, 16:13  (MSK)
>>setsockopt(сокет,SOL_SOCKET,SO_REUSEADDR,(char *)&i,sizeof(i))
>>
>>где int i=1
>>
>>man socket
>
>это только отключает сообщение об ошибке:"address already in use", а мне надо,
>чтобы соединения именно пропадали, а они висят,как зомби :(

правильный ответ - никак. за подробностями "почему" почитайте умные книжки типа Стивенса.

// wbr

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "TIME_WAIT"
Сообщение от XMan Искать по авторуВ закладки(??) on 25-Авг-04, 18:32  (MSK)
klalafuda правильно сказал. Единственное неудобство такого состояния - это невозможность запустить программу еще раз, пока состояние не отвалится. В разных ОС на это отводится разное время, но обычно порядка 2-3 минут.

Потому я тебе и сказал пользовать REUSE_ADDR. Это не "только отключает сообщение об ошибке" - это позволяет опять захватить этот порт без ожидания этих самых 2-3 минут.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "TIME_WAIT"
Сообщение от klalafuda emailИскать по авторуВ закладки on 25-Авг-04, 18:38  (MSK)
>klalafuda правильно сказал. Единственное неудобство такого состояния - это невозможность запустить программу
>еще раз, пока состояние не отвалится. В разных ОС на это
>отводится разное время, но обычно порядка 2-3 минут.
>
>Потому я тебе и сказал пользовать REUSE_ADDR. Это не "только отключает сообщение
>об ошибке" - это позволяет опять захватить этот порт без ожидания
>этих самых 2-3 минут.

ну тогда уж SO_REUSEPORT

---man getsockopt---
SO_REUSEPORT    enables duplicate address and port bindings
---man getsockopt---

// wbr

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "TIME_WAIT"
Сообщение от XMan Искать по авторуВ закладки(??) on 25-Авг-04, 19:51  (MSK)
В данном случае они одинаковы по своему действию.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "TIME_WAIT"
Сообщение от qq Искать по авторуВ закладки(ok) on 26-Авг-04, 01:42  (MSK)
>Добрый день!
>
>Как заставить приложение не оставлять соединений такого типа: "tcp4    
>   0      0  
>192.168.0.1.63009      192.168.0.1.2156    
>  TIME_WAIT"???
>
>Всем заранее спасибо.

вот, чё люди пишут по этому поводу:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&c2coff=1&selm=J0t99.926$%p1.105867406@newssvr30.news.prodigy.com

TIME_WAIT is the state
that a socket goes into _after_ a graceful shutdown has been completed, and it
stays there for four minutes (2*MSL, to be exact).  This is, however, a normal
and desired state for such a socket to be in, so that any packets, duplicated,
retried, or erroneous, still bouncing around in the network get a proper
response.

TIME_WAIT is good.  In a properly written socket stack, TIME_WAIT sockets
aren't as "heavy" as open sockets (they only need to contain the source and
remote addresses and ports, and the fact that the socket is in TIME_WAIT
state), and so shouldn't noticeably impact the number of other sockets that
can be open.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру