UDPプロトコル

UDPプロトコル

を介してメッセージを送信しようとしていますnetcat。メッセージを送信した後netcatは終了する必要があります。

私は以下を試しました:

cat tsmmessage.bin | nc -u localhost 4300
nc -u localhost 4300 < message.bin

この-qオプションには以下が指定されています。

-q秒

stdinでEOF後、指定された時間(秒)を待って終了します。秒が負の場合は永遠に待ってください。

しかし、

nc -q0 -u localhost 4300 < message.bin

動作しません。

私は何を見逃していますか?

ベストアンサー1

EOFを送信した後に接続がアイドル状態にあると仮定すると、0と同じ-w timeoutオプションを使用できますtimeout(愚かな-qオプションとは異なり...)。

cat tsmmessage.bin | nc -u localhost 4300 -w0

おすすめ記事