stevenjin 2023-03-15 16:40 采纳率: 98.3%
浏览 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 Sharepoint JS开发 付费技术指导
  • ¥15 输入程序运行仿真后,烟雾值不实时检测,变成固定值
  • ¥20 数据排序,可选择排序方向
  • ¥15 修改一下代码,考虑进程到达时间不同的情况
  • ¥15 帮我看看这是个啥题,带解题过程和结果,条件如下FCF = 290471.33 g1 = 15% r = 8% g2 = 4% n = 5
  • ¥15 edem模拟颗粒不显示或者生成失败
  • ¥15 Python代码编写
  • ¥15 php 将rtmp协议转hls协议,无法播放
  • ¥20 python代码编写
  • ¥20 使用MPI广播数据遇到阻塞