サーバー(S)を介して間接的に互いに通信する2つのデバイス(AとB)があります。
/---\ /---\ /---\
| A | <===> | S | <===> | B |
\---/ \---/ \---/
A と B は独立して S に接続、切断、再接続できます。
私のアプローチは、名前付きパイプをバッファとして使用し、2つのnetcatインスタンスを使用してAとBのポートを開き、受信したコンテンツを1つのパイプに保存し、別のパイプからコンテンツを再送信することでした。
次のコマンドを使用して実行します。
mkfifo a2b
mkfifo b2a
nc -n -u -lkvp 5050 < b2a | tee a2b &
nc -n -u -lkvp 5051 < a2b | tee b2a &
オプションの説明:
-n
:ネームサーバーの可用性の問題を防ぐ-u
: UDPの使用-l
:聞き始める-k
:接続が切断された後も開いたままです。-v
:冗談| tee fifo
:受信した文字をstdoutに出力して書き込みfifo
Aに接続しS:5050
てBに接続してS:5051
(たとえば、nc -uv S 5050
Aの場合)、一部の文字を送信すると、その文字がSの出力に表示されますが、Bでは受信されません(その逆も同様)。
私は何が間違っていましたか?
私が達成しようとしている目標の正しい用語は何ですか?橋、トンネリング、転送、中継ですか?