linux – socat转发到多个地址

前端之家收集整理的这篇文章主要介绍了linux – socat转发到多个地址前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个传入的视频流,我想设置多个进程来处理它,每个进程都在自己的地址运行.经过一番阅读后,似乎socat就是这样做的一种方式
socat TCP4-LISTEN:1934,fork,reuseaddr TCP4:someaddress:1935

这会将所有内容转发到目标地址,但它只允许我绑定一个目标.有没有办法用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年已经听过的流程,否则右边的社会会抱怨.

这仍然是一个非常脆弱的解决方案.我建议尝试替代路由,如临时缓存文件或管道.

[1]那样:

> nc -l 127.0.0.1 1935 in a shell>另一个shell中的nc -l 127.0.0.1 1936>上面第三个shell中的命令>然后在第四个:echo“foobar”| nc 127.0.0.1 1934>我确实在第一和第二个shell的输出中看到“foobar”.

猜你在找的Linux相关文章