Я тестирую приложение, используя netcat (nc)
, и у меня очень низкая пропускная способность сетевых подключений. Когда я запустил netstat -tnpo
, я увидел многочисленные сеансы TCP
в TIME_WAIT
. Я отправляю данные в свое приложение с помощью сценария bash
, как показано ниже:
while true; do
echo "<required string>" | nc server_ip port
done
Если я вместо этого сделаю это на терминале
:
nc server_ip port
<required string>
, соединение немедленно прервется, и произойдет в TIME_WAIT не осталось сеанса TCP.
Почему разница? Что мне нужно сделать иначе, чтобы гарантировать, что после каждого эха в TIME_WAIT не останется TCP-порт?
Вы можете захотеть использовать его вот так.
while true; do
echo "<required string>" | nc server_ip port < /dev/null
done
Извините, у меня недостаточно репо, чтобы опубликовать его как комментарий.