Вы должны добавить опцию для nc. Опция зависит от версии nc, которую вы используете. Например, в моем случае (Kubuntu), опция -k. Со страницы руководства,
-k Принудительно заставляет nc прослушивать другое соединение после завершения его текущего соединения. Ошибка при использовании этой опции без опции -l.
Я не могу обещать, что -k работает (если, конечно, вы не n Ubuntu), вам придется искать что-то подобное. Например, в моем Debian -k не существует, но вы найдете:
-q секунд после EOF на stdin, подождите указанное количество секунд и затем выйдите. Если секунды отрицательны, ждать вечно
Редактировать:
Чтобы проверить, что это работает, на одном компьютере:
nc -k -l 0.0.0.0 10000 > out.txt
На втором ПК:
echo Hello | nc IP_address_of_first_pc 10000
Выполните указанную выше команду несколько раз, затем прервите команду nc на pc1, проверьте количество строк в out.txt.