如何通过 netcat 访问多个端口

如何通过 netcat 访问多个端口

我正在使用树莓派,需要 2 个本地流。这是我尝试过的:

试图

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

问题

我可以接收输出5000但不能接收输出5100,我遗漏了什么?

raspivid -o -将流吐出到标准输出。

答案1

好吧,“tee”不接受命令名称——它接受文件名称。您正在将输出的副本写入当前目录中名为nclocalhost和 的文件。5100

如果您要运行两个命令,请检查您的 shell 是否允许使用“进程替换” >( ... ),并自动传递管道作为文件名:

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

或者,pee从安装更多工具

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

如果上述选项均不可用,请使用mkfifo创建命名为其中一个“nc”实例设置管道,然后分别运行输出和输入:

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

相关内容