Networking 使用netcat/socat桥接两个端口
我需要通过TCP从ModBus设备(ModBus从设备)获取数据,但该设备必须作为TCP客户端公开(在这种情况下,它从电池中消耗的电量要少得多)。这意味着两台机器都必须连接到第三台作为TCP客户端,我必须在两个端口之间建立一个桥接器,类似这样Networking 使用netcat/socat桥接两个端口,networking,port,modbus,netcat,bridge,Networking,Port,Modbus,Netcat,Bridge,我需要通过TCP从ModBus设备(ModBus从设备)获取数据,但该设备必须作为TCP客户端公开(在这种情况下,它从电池中消耗的电量要少得多)。这意味着两台机器都必须连接到第三台作为TCP客户端,我必须在两个端口之间建立一个桥接器,类似这样 [modbus slave] -> [4444:bridge:5555] <- [modbus master] 它起到了一半的作用:我可以用我的从机连接到4444,用我的主机连接到5555,流量从主机到从机。不过,我看不到相反方向的车辆。在这
[modbus slave] -> [4444:bridge:5555] <- [modbus master]
它起到了一半的作用:我可以用我的从机连接到4444,用我的主机连接到5555,流量从主机到从机。不过,我看不到相反方向的车辆。在这种情况下,如何建造双向桥梁
提前多谢 您可以使用如下fifo运行2个netcat实例:
# mkfifo fifo
# nc -l -p 4444 < fifo | nc -l -p 5555 > fifo
另一方面,我认为运行客户端比服务器(只等待传入连接)消耗更多的电力(需要继续连接)。也许我还遗漏了一些其他的设计考虑。是的,我已经用这个“socat TCP4-LISTEN:4444,fork,reuseaddr TCP4-LISTEN:5555,fork,reuseaddr”试过socat了。不过有时候会掉下来。
# mkfifo fifo
# nc -l -p 4444 < fifo | nc -l -p 5555 > fifo
# socat TCP4-LISTEN:4444 TCP4-LISTEN:5555