qt實現遠程升級,設備升級客戶端。
應用場景:
1.通常我們在公網時,升級採用ftp升級下載文件,但這樣往往受限於網絡情況。
2.同時有時候我們需要給工程人員不具備相應的專業知識。有必要我們開發升級工具,方便其使用。
於是開發了這樣一款升級工具。
具體思路如下:
設備作爲服務器,升級工具爲客戶端。
第一步:先通過廣播或組播方式,將獲取設備信息請求廣播出去。接收方(設備)接收到廣播,將設備信息發送給升級客戶端。
將設備信息發送給客戶端有兩種方式1.升級客戶端監聽另外一個端口的廣播。在接收到升級客戶端的廣播請求後往另外一個端口發送設備信息。2.發送廣播請求時,可以涵蓋客戶端IP及端口等信息。設備介紹到之後建立連接發送數據。相比第一種方式更具有優勢。
然後使用者可以根據判斷當前設備在是否需要升級。(交互信息自定義)
參考如下: QT 通過UDP廣播獲取網絡中所有設備ip地址 https://blog.csdn.net/dxzysk/article/details/55511269
第二步:通過獲取到的設備信息,如IP等,建立TCP鏈接之後,發送文件。
參考如下:Qt編寫的軟件在線升級系統(客戶端)https://blog.csdn.net/ychwn/article/details/4313361
客戶端和模擬設備代碼在:https://download.csdn.net/download/mingting1323/10632094
設計界面如下:
用戶通過選擇按鈕選中需要升級的問題,搜索可以當前設備,點擊升級即開啓線程進行升級。
文件升級中:
注意可能出現部分廣播包發不出去:(解決方法禁用虛擬機網卡)
網絡UDP廣播包發不出去或接收不到問題
版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/lixiang987654321/article/details/41697533
在公司最近項目中,有關設備搜索採用UDP廣播方式搜索,出現的情況是,部分機器能正常接收到廣播包,部分機器接收不到廣播包,部分機器發送不了廣播包情況,經過N天的查詢,結果發現驚人的祕密:虛擬機網卡導致廣播包發送不出去或接收不到問題!!!以上結果僅供各位大神參考!