对于使用串行端口进行通信(确切地说是 Modbus RTU)的应用程序,我需要通过网络桥接串行端口以进行测试。
所以我想要以下设置:
Device | Network | PC
SerialPort |------------------| SerialPort
Map Serialport| | Map network to Serialport
to Network | |
我已经完成了第一部分的工作socat
.
我在 PC 上打开了 TCP 端口
nc -l 8080
在我的设备上我使用过
socat pty,link=/dev/virtualcom0 tcp:PC-IP:8080
映射所有写在上面的东西/dev/virtualcom0
到端口 8080 上的 PC-IP。
但现在我在将套接字映射回串行端口时遇到问题。
socat tcp:PC-IP:9123 pty,link=/dev/virtualport0
这给了我一个Connection Refused
,这很明显,因为我使用了 TCP 并且该端口已被设备使用。
所以我尝试了同样的方法
socat pty,link=/dev/virtualcom0,raw udp:PC-IP:8080
并将其他所有内容也更改为 UDP。
但后来什么也没有到达我的/dev/virtlalcom0/
在我的电脑上。
TCP 连接的一侧需要侦听端口(您启动的第一个端口),而另一侧则连接到该端口。
对于第一面,执行以下操作:
socat tcp-listen:8080 pty,link=/dev/virtualport0
对于第二面,请执行以下操作:
socat pty,link=/dev/virtualcom0 tcp:IP-of-other-machine:8080
忘记 netcat,你不需要它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)