局域网工具的工作流程

在优视干了四个月就做了个局域网工具,先把其工作流程总结一下。

局域网工具就是对局域网内的pu(设备)配置,其实在我看来做起来还是比较难的,MFC虽然我懂点但那些都是皮毛,但当我真正用起来时真是什么都不会,socket和线程那真是从来没有用过,做起来还是比较难的,虽然现在做的差不多了但速度,代码不简洁。。。甚至其中的好多原理都是不懂的,幸亏是在以前的基础上写的,不然我真不知如何下手了,说真的却是学到了许多知识,就算是入了软件这行的门了。

其实公司的这个软件都是模仿创世(合肥也是做视频的公司,liu去面试了,等结果在)的,公司以前配置pu是模仿配置路由器的方式使用IP+WEB的方式,就是网址中输入IP就可以直接配置了,这个web是张(我听佩服他的,公司离了他就运转不起来了)做的,但如果多个pu是一样的IP那这个web就不能配置了,因为只能输入一个IP,这样就需要做个软件,这个软件是基于每个pu的mac地址实现的,每个板卡的mac地址是不一样的。这个实现方式是UDP+MAC+广播的方式。

基本原理

pu通过发送广播包道pc端的端口,在协议头里面的一个字段中加入MAC地址,作为自己的识别

pc端口在接受数据包,然后根据这个mac地址识别不同的设备,然后配置一个设备的时候也要加入MAC地址,然后与这个MAC地址相同的pu解析包

pu端和pc端都有个一个死线程,知识pu端直接是主线程中的死线程,而pc端是另开的线程

启动pc端的软件后想局域网内发送广播,要求局域网内的设备上报自己的信息,启动程序的线程专门接受信息,然后每个设备上报信息然后处于等待状态,然后pc端受到上报信息之后恢复确认信息,当我们想配置某一设备时发送广播在投中加入MAC地址,然后匹配的pu就进行配置,然后给予回复信息,然后pc端根据回复信息重新显示。其中的数据部分使用google的protobuf,其实就是类似于xml的数据格式,这样数据就有一个规范,还有个TCP的应用,当我们的板卡需要升级时我们发送升级文件给pu,这个是以前写好的,所以什么三次握手我不懂,其实就是这么简单,就是我这样一个本来c++用的都不熟,然后再玩MFC,然后再在其中加入这些东西,所以刚开始很痛苦,都是自己摸索着干。

整体通信流程



数据流程


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值