QT學習 UDP通訊

2021-09-25 21:58:20 字數 1325 閱讀 1194

是乙個輕量級、不可靠、面向資料報的、無連線的協議,用於可靠性不是非常重要的情況。

一般分為傳送端和接收端:

1、傳送端

#include "sender.h"

#include "ui_sender.h"

#include sender::sender(qwidget *parent) :

qdialog(parent),

ui(new ui::sender)

sender::~sender()

void sender::on_pushbutton_clicked()

主要函式

qint64 qudpsocket::writedatagram(const char*data,qint64 size,const qhostaddress &address,quint16 port)
它會傳送size大小的資料報到位址為address的主機的port埠,並返回傳送成功的位元組數;如果傳送失敗返回-1

qhostaddress::broadcast表示廣播位址,等價於qhostaddress("255.255.255.255")。埠號一般建議使用1024以上的埠號。

2、接收端

#include "receiver.h"

#include "ui_receiver.h"

#include receiver::receiver(qwidget *parent) :

qdialog(parent),

ui(new ui::receiver)

receiver::~receiver()

void receiver::processpendingdatagram()

}

bind()函式   繫結了ip位址和埠號,最後乙個引數為繫結模式。

每當有資料報到來時,qudpsocket都會發射readyread()訊號。

haspendingdatagrams() 判斷是否還有等待讀取的資料報

pendingdatagramsize()獲取當前資料報的大小

readdatagram()函式接收資料報

QT關於UDP通訊設定

首先在.pro檔案中新增 qt network 在標頭檔案下宣告 include 再宣告乙個私有物件 qudpsocket sender 再在設計介面上放入乙個按鈕,關聯按下槽函式與訊號函式。include mainwindow.h include ui mainwindow.h mainwindo...

QT簡單的UDP通訊

介面設計 通過訊號槽機制監聽套接字內是否有資料。readyread 繫結埠bind 功能 從udpsockt中讀取資料,顯示給使用者。haspendingdatagrams 判斷是否有資料 pendingdatagransize 返回資料大小 readdatagram 讀取資料,第乙個引數,資料儲存...

Qt實現UDP通訊簡例

1 qt實現tcp通訊簡例 2 qt實現udp廣播簡例 qt 4 網路程式設計 4 目錄 接收端截圖 qt實現udp通訊 原版例子!singals slots 官方文件 qt入門之訊號與槽機制 qt 訊號槽的實現 qt學習 之 socket通訊 qt的socket資料通訊的乙個例子 終極目標是完成計...