• 5902阅读
  • 8回复

基于刘神的代码写的设备远程升级 [复制链接]

上一主题 下一主题
离线群主大人
 

只看楼主 正序阅读 楼主  发表于: 2018-08-28
基于刘神的代码写的设备远程升级。
界面文件传输都是了刘大神的,我就实现了下搜索功能。
应用场景:
1.通常我们在公网时升级采用ftp升级下载文件,但这样往往受限于网络情况。
2.同时有时候我们需要给工程人员不具备相应的专业知识。有必要我们开发升级工具,方便其使用。
具体思路如下
设备作为服务器,升级工具为客户端。
第一步:先通过广播或组播方式,将获取设备信息请求广播出去。接收方(设备)接收到广播,将设备信息发送给升级客户端。
将设备信息发送给客户端有两种方式1.升级客户端监听另外一个端口的广播。在接收到升级客户端的广播请求后往另外一个端口发送设备信息。2.发送广播请求时,可以涵盖客户端IP及端口等信息。设备介绍到之后建立连接发送数据。相比第一种方式更具有优势。
然后使用者可以根据判断当前设备在是否需要升级。(交互信息自定义)
参考如下: QT 通过UDP广播获取网络中所有设备ip地址  https://blog.csdn.net/dxzysk/article/details/55511269

第二步:通过获取到的设备信息,如IP等,建立TCP链接之后,发送文件。
代码分为2部分
QtUiUpTools为升级客户端。
searchDev为模拟主机。






文件升级中:


注意可能出现部分广播包发不出去:(解决方法禁用虚拟机网卡)


网络UDP广播包发不出去或接收不到问题


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lixiang987654321/article/details/41697533
    在公司最近项目中,有关设备搜索采用UDP广播方式搜索,出现的情况是,部分机器能正常接收到广播包,部分机器接收不到广播包,部分机器发送不了广播包情况,经过N天的查询,结果发现惊人的秘密:虚拟机网卡导致广播包发送不出去或接收不到问题!!!以上结果仅供各位大神参考!




附件: qtUpTools.rar (1175 K) 下载次数:297
离线nongxiaoming

只看该作者 8楼 发表于: 2019-01-09
广播包发不出去是因为本地有多张网卡,你的udp没有指定本地地址,所以默认就只绑定一张网卡的地址,所以才会有的出现发不出去的,原因的绑定的ip不对。针对这个问题,应该是要遍历本地的网卡host,然后全部进行绑定。发送的时候把链表里面所有的udp socket都发送一遍广播。
离线zheguzai

只看该作者 7楼 发表于: 2018-12-28
      
离线hu419087137

只看该作者 6楼 发表于: 2018-12-04
可以跨路由吗?我之前也弄过,发现不能跨路由,用了苹果的bonjour
专业定制桌面应用: QQ:419087137
作品: http://xiazai.zhukao.com.cn/linedown/zkzx.zip
博客地址:  https://blog.csdn.net/u012020854/article/category/6391834
离线cj123sn

只看该作者 5楼 发表于: 2018-09-14
超级棒的!!!!!
离线fight傲

只看该作者 4楼 发表于: 2018-08-28
        
离线crazy

只看该作者 3楼 发表于: 2018-08-28
    
C/C++/Qt爱好者
邮箱: kevinlq0912@163.com
公众号: devstone
博客:http://kevinlq.com/
离线xp3838338

只看该作者 2楼 发表于: 2018-08-28
图挂了

只看该作者 1楼 发表于: 2018-08-28
支持一下
快速回复
限100 字节
 
上一个 下一个