Почему один и тот же сокет в TIME_WAIT много раз?

Я читал другие темы о сокетах в TIME_WAIT, но я все еще что-то упускаю.

Ниже несколько строк из "netstat -an". Как это могло попасть в эту ситуацию? Если я понял описания, которые я нашел, у нас не должно быть более одного экземпляра сокета 63444 ... но после того, что указано как "LISTEN", есть около 50 отдельных соединений сокетов с одним концом на 63444, все в "TIME_WAIT", Как это могло произойти, и как я могу это исправить?

tcp        0      0 0.0.0.0:63444           0.0.0.0:*               LISTEN      
tcp        0      0 169.254.7.228:63444     169.254.66.84:35391     TIME_WAIT   
tcp        0      0 169.254.7.228:63444     169.254.66.84:35283     TIME_WAIT   
tcp        0      0 169.254.7.228:63444     169.254.66.84:35352     TIME_WAIT   
tcp        0      0 169.254.7.228:63444     169.254.66.84:35431     TIME_WAIT

1 ответ

TCP-соединения не определяются только номером локального порта. Они идентифицируются кортежем, состоящим из локального IP-адреса, номера локального порта, удаленного IP-адреса и номера удаленного порта.

Так как номер удаленного порта отличается, это разные соединения.

API сокетов имеет один сокет на соединение и один сокет прослушивания для приема входящих соединений.

Другие вопросы по тегам