netcat に、入力を改行だけでなく即時に送信するように強制するにはどうすればよいでしょうか。HTTP パーサーを手動でテストし、ヘッダー行が複数のパケットにまたがっている場合の動作を確認したいと思います。
答え1
CtrlDデフォルトで tty キーとして設定されている を使用しますeof
。行の途中で押すと、その時点で入力されたすべての内容が netcat に渡されます。
バッファリングは実際には tty 層によって行われ、 ではnc
まったく処理されません。stty -icanon && nc ...
はバッファリングを無効にし、nc
端末に入力されたデータを確認できるようにします。その時点で、データはすぐに送信されます。 ( コマンドstty
とnc
コマンドは一緒に実行する必要があることに注意してください。そうしないと、シェル自体がプロンプトを表示するときにそれを再度有効にする可能性があります。)