stevenjin 2023-03-15 16:40 采纳率: 98.7%
浏览 16
已结题

.NET网络互联解决方案

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

  • 写回答

4条回答 默认 最新

  • wanghui0380 2023-03-15 17:23
    关注

    1.如果数据需要保证稳定可靠,不建议使用udp。
    现场环境很难保证udp不丢包,不乱序。你要自己定义一套序号和重传机制反而麻烦。
    如果非要使用udp可以使用udp的升级版本,Rudp(可靠用户数据报协议)

    2.对于udp本身无需ip绑定,也无需在路由器绑定mac(除非你打算弄啥NAT穿网操作)
    如果没有NAT穿网要求,下位机只需在代码里写成 "0.0.0.0:你们商定的固定端口号"即可
    参考


    博文说的很明确了,INADDR_ANY=0.0.0.0=所有地址、不确定地址、任意地址,既bind所有本机网卡的所有地址。

    所以下位机只要和你在同一局域网中,只要你能互相ping通即可通讯。无需在路由上去分配静态ip映射规则

    另外补充一下:通常下位机会有一个自己的管理页,参考海康摄像头,他有自己的管理页,可以在现场随时配置ip(一般是重启后生效)
    或者他自己出厂默认一个地址,然后你用双机直连方式采用teletnet方式用命令行修改
    ps:海康大厂有些东西还是不错的,有管理页,也有设备发现协议。--------如果你在同一个网里,而你不知道他在哪里,你可以用设备发现协议发现他,然后在用配置工具配置,这种就比先写死ip要方便很多了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月24日
  • 已采纳回答 3月16日
  • 修改了问题 3月15日
  • 创建了问题 3月15日

悬赏问题

  • ¥15 MATLAB yalmip 可转移负荷的简单建模出错,如何解决?
  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?