Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Networking 使用netcat/socat桥接两个端口_Networking_Port_Modbus_Netcat_Bridge - Fatal编程技术网

Networking 使用netcat/socat桥接两个端口

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,流量从主机到从机。不过,我看不到相反方向的车辆。在这

我需要通过TCP从ModBus设备(ModBus从设备)获取数据,但该设备必须作为TCP客户端公开(在这种情况下,它从电池中消耗的电量要少得多)。这意味着两台机器都必须连接到第三台作为TCP客户端,我必须在两个端口之间建立一个桥接器,类似这样

[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