複数のポートにnetcatする方法

複数のポートにnetcatする方法

私はラズベリーを使っていて、2 つのローカル ストリームが必要です。試したことは次のとおりです。

試み

raspivid <some options> -o - | tee nc localhost 5100 | nc localhost 5000

質問

出力は で受信できるのです5000が、 では受信できません5100。何が足りないのでしょうか?

raspivid -o -ストリームを標準出力に出力します。

答え1

まあ、「tee」はコマンド名を受け付けません。ファイル名前。出力のコピーを現在のディレクトリのnclocalhost、という名前のファイルに書き込みます。5100

2 つのコマンドを実行する場合は、 を使用し、>( ... )パイプをファイル名として自動的に渡すことで、シェルが「プロセス置換」を許可しているかどうかを確認します。

raspivid <etc> | tee >(nc localhost 5100) | nc localhost 5000

または、pee以下からインストールしてくださいもっと見る:

raspivid <etc> | pee "nc localhost 5100" | nc localhost 5000

どちらのオプションも利用できない場合はmkfifo名前'nc' インスタンスの 1 つにパイプし、出力と入力を別々に実行します。

mkfifo /tmp/ncpipe
nc localhost 5100 < /tmp/ncpipe &
raspivid <etc> | tee /tmp/ncpipe | nc localhost 5000

関連情報