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中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...