超时后终止命令(netcat)的便携式方法

超时后终止命令(netcat)的便携式方法

我有一个使用netcat/nc作为监听输入的服务的解决方案,但该服务永远不会向客户端返回任何输入。有点像这样:

server$ nc -l 12345

进而:

client$ echo message | nc server 12345

诀窍在于,因为服务器永远不会向客户端发送任何内容(包括没有 EOF),本质上是因为它不知道客户端何时完成,所以客户端netcat永远不会终止。

一种简单的解决方案是让客户端使用 选项-q <secs>netcat但并非所有实现(例如 FreeBSD 和 Mac OSX)都netcat包含该-q选项。

这里的聪明才智还有其他解决方法吗?

相关内容