QT 通過UDP廣播獲取網路中所有裝置ip位址

2021-07-27 03:15:03 字數 2306 閱讀 8092

說明:

本文是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...