Я получаю сообщение об ошибке исчерпания порта на моем сервере («Обычно разрешено только одно использование каждого адреса сокета (протокола / сетевого адреса / порта)»).
Итак, я проверил с помощью netstat -n, и он перечисляет около 84000 соединений.
Исходя из локального порта и того факта, что внешний IP-адрес принадлежит мне, я могу видеть, что, например, 3654 из них относятся к программе, работающей на том же сервере, который я убил более 24 часов назад (фактически вчера утром). Все они находятся в состоянии TIME_WAIT на внешних портах между 49165 и 65533. По крайней мере, некоторые из тех же номеров внешних портов также отображаются как локальные порты, например:
TCP <my_ip>:14046 <my_ip>:49165 TIME_WAIT
...
TCP <my_ip>:49165 <other_ip>:80 TIME_WAIT
14046 - это порт, который прослушивает программа на моем сервере и которую программа, которую я убил вчера, использовалась для многократного подключения. host <other_ip>
дает мне что-то на compute-1.amazonaws.com
, я не узнаю IP. Я не могу получить что-нибудь из моего браузера. Поэтому я не могу понять, что на этой машине подключилось бы к 80-му порту, но в последнее время на одной и той же машине работают различные вещи, которые используют веб-сервисы, поэтому я думаю, что это может быть перенаправление или аналог из тех.
Отдельные прогоны netstat с интервалом более 4 минут показывают, что оба соединения остаются в списке.
Это ожидается? Я думал, что сокеты должны были окончательно закрыться через 4 минуты или около того, но обычно ли netstat перечисляет их намного дольше? Эти порты действительно заняты, и если да, то что я могу сделать, чтобы освободить их? Желательно без перезагрузки, но если придется, то придется.
ОС Windows Server Enterprise, работающая на виртуальной машине Rackspace.
[Редактировать: хм, я должен был спросить об этом на сервере?]
[Другое редактирование: перезагрузка, казалось, исправила это. Все старые соединения исчезли, а новые соединения того же типа исчезли через несколько минут, как и ожидалось. Поэтому я бы предположил, что сетевой стек каким-то образом попал в неисправное состояние.]