我有一个使用netcat
/nc
作为监听输入的服务的解决方案,但该服务永远不会向客户端返回任何输入。有点像这样:
server$ nc -l 12345
进而:
client$ echo message | nc server 12345
诀窍在于,因为服务器永远不会向客户端发送任何内容(包括没有 EOF),本质上是因为它不知道客户端何时完成,所以客户端netcat
永远不会终止。
一种简单的解决方案是让客户端使用 选项-q <secs>
,netcat
但并非所有实现(例如 FreeBSD 和 Mac OSX)都netcat
包含该-q
选项。
这里的聪明才智还有其他解决方法吗?