これはどういうわけか関連する質問です https://superuser.com/questions/270698/how-is-it-called-when-listeningconnecting-two-sockets-and-exchanging-data-betw
テストセットアップでは、3つのターミナルウィンドウを開いて実行します
Term1: "nc -l 55545"
Term2: "nc -l 55546"
Term3: "socat tcp:localhost:55545 tcp:localhost:55546"
Term1への入力がTerm2に表示され、Term2への入力がTerm1に表示されるようになりました。
これは望ましい動作です。 ncのみを使用してこの動作を実現するにはどうすればよいですか?
走ったとき
Term3: "nc localhost 55545 | nc localhost 55546"
次に、Term1への入力はTerm2に表示されますが、Term2への入力はTerm3に表示されます。パイプを双方向にするにはどうすればよいですか?可能であれば、一時ファイルなしで。
これは netcatのウィキペディアページ から直接来ています。 Term3では、次を実行します。
mkfifo backpipe
nc localhost 55545 0<backpipe | nc localhost 55546 1>backpipe
これはあなたが望むことをほぼ正確に行います。 FIFOを使用して、左側から右側に出力を戻します。厳密に言えば、一時ファイルではありません。FIFOは、2つのプロセス間の名前付きパイプです。