說明:
本文是c++的qt版本例子說明,有時候需要搜尋網路中的裝置,機器,伺服器等,這就要要用到udp廣播的方式,傳送廣播命令,廣播給網路中的每乙個主機,該主機接收到廣播命令後,立刻傳送給請求端自己的裝置資訊,這裡以ip資訊為例子。
思路
在每乙個裝置中部署sever端程式進行監控,client端傳送廣播命令,每乙個server收到命令後,返回給client自己的ip位址資訊,給出**如下,其中,有部分,比如獲取ip位址參考來自網路,尊重原創,樂於分享。
#ifndef mainwindow_h
#define mainwindow_h
#include
namespace ui
class qlabel;
class qudpsocket;
class qlistwidget;
class mainwindow : public qmainwindow
;#endif // mainwindow_h
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include
#include
#include
#include
#include
//#define get_host_command "getcyhost"
#define get_host_command "getipaddr"
//#define local_port 11121
#define server_port 12811
#define try_times 1
mainwindow::mainwindow(qwidget *parent) :
qmainwindow(parent),
ui(new ui::mainwindow)
mainwindow::~mainwindow()
void mainwindow::initbroadcastlistener()
void mainwindow::initlist()
void mainwindow::processpengingdatagram()
}}void mainwindow::addbroadcastresitem(qbytearray data, qstring ip)
//得到主機的ip位址
qstring mainwindow::getip()
return
0;}
#ifndef mainwindow_h
#define mainwindow_h
#include
namespace ui
class qlabel;
class qudpsocket;
class qlistwidget;
class mainwindow : public qmainwindow
;#endif // mainwindow_h
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include
#include
#include
#include
#include
//#define get_host_command "getcyhost"
#define get_host_command "getipaddr"
#define local_port 11121
#define dest_port 12811
#define try_times 1
mainwindow::mainwindow(qwidget *parent) :
qmainwindow(parent),
ui(new ui::mainwindow)
mainwindow::~mainwindow()
void mainwindow::initbroadcast()
void mainwindow::broadcastgetipcommand()
}void mainwindow::initlist()
void mainwindow::processpengingdatagram()
}void mainwindow::addipitem(qbytearray data)
通過UDP廣播自動獲取IP位址
客戶端 socket ssrv sockaddr in addrto wsadata wsdata bool bsocket 啟動socket庫,版本為2.0 word wver makeword 2,0 if 0 wsastartup wver,wsdata bsocket true 然後賦值給位...
Qt之UDP的網路廣播例子
udp 使用者資料報協議,是一種輕量級 無連線,不可靠,資料報的傳輸層協議。一般用在短訊息 廣播訊息等中,本文中是用在廣播定時傳送訊息中。注意還是要在.pro中加入 qt network 廣播定時傳送給使用者資料 1 udp的伺服器端 先建立乙個qudpsocket物件,再建立乙個定時器qtimer...
windows 實現UDP廣播獲取裝置
1 獲取本機所有ip,把ip的最後乙個字段值改為255,去掉重複的ip 2 遍歷所有ip進行廣播 broadcastdemo.cpp 定義控制台應用程式的入口點。include stdafx.h include include include include pragma comment lib,w...