环境:下位机做为服务端,上位机为客户端,协议为UDP。
以下尝试2种方式,不知采用哪种。如有更好的方案,麻烦提出指正,多谢了!
1.下位机是否烧的时候,把IP固定,上位机通过交换机进行连接通讯?
2.下位机连接路由器,由路由一体机分配动态IP,然后在路由器管理页面,绑定下位机MAC与IP后,上位机通过其网口连接通讯?

.NET网络互联解决方案
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- wanghui0380 2023-03-15 17:23关注
1.如果数据需要保证稳定可靠,不建议使用udp。
现场环境很难保证udp不丢包,不乱序。你要自己定义一套序号和重传机制反而麻烦。
如果非要使用udp可以使用udp的升级版本,Rudp(可靠用户数据报协议)2.对于udp本身无需ip绑定,也无需在路由器绑定mac(除非你打算弄啥NAT穿网操作)
如果没有NAT穿网要求,下位机只需在代码里写成 "0.0.0.0:你们商定的固定端口号"即可
参考https://blog.csdn.net/Dontla/article/details/122921100
博文说的很明确了,INADDR_ANY=0.0.0.0=所有地址、不确定地址、任意地址,既bind所有本机网卡的所有地址。所以下位机只要和你在同一局域网中,只要你能互相ping通即可通讯。无需在路由上去分配静态ip映射规则
另外补充一下:通常下位机会有一个自己的管理页,参考海康摄像头,他有自己的管理页,可以在现场随时配置ip(一般是重启后生效)
或者他自己出厂默认一个地址,然后你用双机直连方式采用teletnet方式用命令行修改
ps:海康大厂有些东西还是不错的,有管理页,也有设备发现协议。--------如果你在同一个网里,而你不知道他在哪里,你可以用设备发现协议发现他,然后在用配置工具配置,这种就比先写死ip要方便很多了本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用