qt中qudpsocket
類進行收發udp資料報,該類父類是qabstractsocket。
簡單地說,套接字socket
=ip位址
+port埠號
ip指定網路中的哪乙個主機
port埠號指定主機的哪乙個應用程式
要使用udp,工程檔案中必須新增qt += network
是否有資料可讀:
bool qudpsocket::
haspendingdatagrams()
const
讀資料:
qint64 qudpsocket::
readdatagram
(char
*data, qint64 maxsize, qhostaddress *address = q_nullptr, quint16 *port = q_nullptr)
//讀資料
networkdatagram qudpsocket::
receivedatagram
(qint64 maxsize =-1
)
當前可讀資料大小:
qint64 qudpsocket::
pendingdatagramsize()
const
讀資料:
qint64 qudpsocket::
writedatagram
(const
char
*data, qint64 size,
const qhostaddress &address, quint16 port)
qint64 qudpsocket::
writedatagram
(const qnetworkdatagram &datagram)
qint64 qudpsocket::
writedatagram
(const qbytearray &datagram,
const qhostaddress &host, quint16 port)
class
udp_sender
:public qwidget
;
udp_sender::
udp_sender
(qwidget *parent)
:qwidget
(parent),ui
(new ui::udp_sender)
udp_sender::
~udp_sender()
void udp_sender::
initudpsocket
(void
)void udp_sender::
senddatagram
(void
)
qhostaddress::broadcast //特殊的廣播位址,意味著所有主機,但不是網際網路上的所有主機
class
udp_recevier
:public qwidget
;
#include
"udp_recevier.h"
#include
"ui_udp_recevier.h"
#include
udp_recevier::
udp_recevier
(qwidget *parent)
:qwidget
(parent),ui
(new ui::udp_recevier)
udp_recevier::
~udp_recevier()
void udp_recevier::
processdatagram()
}void udp_recevier::
initsocket()
結果: 網路程式設計學習筆記(三)UDP
1 不可靠的 效率高 資料報 資料打成乙個小包乙個小包地往外發 非連線。2 udp是非連線的,因此嚴格來說並不區分伺服器端和客戶端。3 udp通訊過程 udp都是通過位元組陣列進行對話的。伺服器 端 接資料 1 新建位元組陣列,用來接收對方發過來的資料 byte buf new byte 1024 ...
QT學習筆記之QT網路程式設計
tcp 傳輸控制協議,提供的是面向連線 可靠的位元組流服務。當客戶和伺服器彼此交換資料前,必須先在雙方之間建立乙個tcp連線,之後才能傳輸資料。tcp提供超時重發,丟棄重複資料,檢驗資料,流量控制等功能,保證資料能從一端傳到另一端。udp 使用者資料報協議,是乙個簡單的面向資料報的運輸層協議。udp...
學習Qt網路程式設計
qtcpsocket 詳細描述 qtcpsocket 類提供乙個tcp套接字 tcp是乙個面向連線,可靠的的通訊協議,非常適合於連續不斷的資料傳遞 qtcpsocket 是qabstractsocket類非常方便的乙個子類,讓你建立乙個tcp連線和資料流交流。注意 tcp套接字不能以qiodevic...