タイムアウト後にコマンド (netcat) を終了するポータブルな方法

タイムアウト後にコマンド (netcat) を終了するポータブルな方法

netcat入力をリッスンするサービスとして/ を使用するソリューションがありますncが、サービスはクライアントに入力を返しません。次のようになります。

server$ nc -l 12345

その後:

client$ echo message | nc server 12345

秘訣は、サーバーがクライアントに何も返さない (EOF も含まない) ため、基本的にクライアントがいつ終了したかがわからないため、クライアントがnetcat終了しないという点です。

簡単な解決策の 1 つは、クライアント-q <secs>に オプションを使用させることですnetcatが、 のすべての実装 (FreeBSD や Mac OSX など) にオプションnetcatが含まれているわけではありません-q

ここにいる優秀な人たちから他に何か回避策はありますか?

関連情報