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