портативный способ завершить команду (netcat) после тайм-аута

портативный способ завершить команду (netcat) после тайм-аута

У меня есть решение, использующее netcat/ ncкак службу, которая прослушивает ввод, но служба никогда не возвращает никаких вводов клиенту. Что-то вроде этого:

server$ nc -l 12345

а потом:

client$ echo message | nc server 12345

Хитрость в том, что поскольку сервер никогда ничего не отправляет обратно клиенту (включая EOF), по сути, поскольку он не знает, когда клиент закончил работу, клиент netcatникогда не завершает работу.

Одним из простых решений является использование клиентом опции -q <secs>, netcatно не все реализации (например, FreeBSD и Mac OSX) netcatвключают эту -qопцию.

Есть ли еще какие-нибудь обходные пути от блестящих умов?

Связанный контент