我是靠谱客的博主 无聊紫菜,最近开发中收集的这篇文章主要介绍C# 基于udp广播收集局域网类所有设备信息,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一个简单好理解的例子,复制过去就能用,能看到效果

首先对功能的思考,他怎么去实现

1.制定udp广播的端口(如果收发用同一个端口就会一直接收到自己给自己广播的消息)

2.启动后向局域网广播约定的字符串(字符串包含了广播端的IP和用来接收响应的端口号)

3.设备需要内置一个功能,打开约定的接收广播端口,持续做好对udp服务端的响应工作,接收广播字符串后解析,向广播端发送自己的IP和自己设备的型号信息(送至:解析到的IP,端口号)

4.广播端接收这个设备发送的字符串,解析生成模型,放进动态的list,方便实时监控

5.循环去广播来进行设备的监测,设备下线后从list移除,就是已经不响应udp服务器的广播了,考虑到udp传输的丢包问题,设备连续5次没有响应,判断为下线

我们需要做两件事,一是广播喊话让局域网内所有听到的设备都要有回应,二是收集他们的回应,所以需要两个程序

一个是喊话的UdpBroadCast,一个是收集的UdpClient

用网络调试助手模拟下位机的设备

收到广播 然后发送自己的信息

接收端收到后判断格式是不是正确,正确在进行下一步处理

创建更多的终端

收到,下位机只需要按规定发送自己的名字就好了,我们是可以拿到发送过来的IP和端口号的

然后把这些存入模型,就得到了一个设备列表模型

约定一个时间去更新模型的设备,然后写入json文件

外部读文件就好了,因为发送端和接收端是一直在运行的

把列表里的设备信息定时存到文件是和外界做一个交互

以上就是C# 基于udp广播收集局域网类所有设备信息的详细内容,更多关于c# 收集设备信息的资料请关注靠谱客其它相关文章!

最后

以上就是无聊紫菜为你收集整理的C# 基于udp广播收集局域网类所有设备信息的全部内容,希望文章能够帮你解决C# 基于udp广播收集局域网类所有设备信息所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(110)

评论列表共有 0 条评论

立即
投稿
返回
顶部