着信ビデオストリームが1つあり、それを処理するために複数のプロセスをセットアップし、それぞれが独自のアドレスで実行します。いくつか読んだ後、それはsocatがこれを行う1つの方法のようです
socat TCP4-LISTEN:1934,fork,reuseaddr TCP4:someaddress:1935
これですべてがターゲットアドレスに転送されますが、1つのターゲットのみをバインドできます。 socatで複数のターゲットアドレスをバインドする方法はありますか?複数の個別バインドを試行すると、後続のバインドで「アドレスはすでに使用されています」エラーが発生します。私はsocatの使用を強制されていません。誰かがより良いアプローチを知っていれば、着信ストリームをコピーできるものであれば何でもいいです。ありがとう。
以前のコメントに基づいて、私はこのソリューションをテストしました[1]。あなたのニーズを理解していれば、期待通りに機能します:
socat -u tcp4-listen:1934 - | tee >(socat - tcp4:127.0.0.1:1935) >(socat - tcp4:127.0.0.1:1936) > /dev/null
これを起動する前に、すでに1935年と1936年をリッスンしているプロセスがなければなりません。そうしないと、右側のsocat
が文句を言うでしょう。
これはまだ非常に壊れやすいソリューションです。一時的なキャッシュファイルやパイプなど、別のルートを試すことをお勧めします。
[1]そのように:
nc -l 127.0.0.1 1935
シェルnc -l 127.0.0.1 1936
別のシェルecho "foobar" | nc 127.0.0.1 1934