Почему один и тот же сокет в 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 сокетов имеет один сокет на соединение и один сокет прослушивания для приема входящих соединений.