QT UDP客戶端和伺服器實現步驟

2021-10-02 23:41:26 字數 1290 閱讀 3613

一般在udp通訊中,不存在嚴格意義上的伺服器端、客戶端,因為不需要建立連線,可以理解為接收端和傳送端。傳送端向指定埠傳送資料,接收端從指定埠讀取資料,反之亦然。

為了實現傳送端與接收端的雙向通訊,在每一端需要定義兩個埠:傳送資料埠、接收資料埠,具體組成如下所示:

上圖可以看出,傳送端將資料傳送到指定的傳送埠,接收端從制定的接收埠接收資料,這兩個埠必須保持一致。反之亦然。

首先在.pro檔案中加入 qt +=network;

1.建立套接字socket

receiver =

newqudpsocket

(this

);

2.繫結埠

receiver-

>

bind

(receive_port,qudpsocket::shareaddress)

;

3.資料到來時會發出readyread訊號,編寫槽函式接受資料

connect

(receiver,

signal

(readyread()

),this

,slot

(processpendingdatagram()

));void

processpendingdatagram()

4.關閉套接字

receiver-

>

close()

;

1.建立套接字socket

sender=

newqudpsocket

(this

);

2.傳送資料

qbytearray datagram;

sender-

>

writedatagram

(datagram.

data()

, datagram.

size()

,qhostaddress

(udp_send_ip)

, udp_send_port)

;

3.關閉套接字

receiver-

>

close()

;

Redis客戶端和伺服器

一 redis客戶端 redisserver結構中儲存了所有客戶端的狀態資訊。struct redisserver 命令client list可以列出目前所有連線到伺服器的客戶端。命令client setname name 可以給客戶端設定乙個名字。偽客戶端 由於伺服器必須接收來自客戶端的命令以執行...

Redis 客戶端和伺服器

客戶端的資料結構 typedef struct redisclient redisclient 名字 name 標誌值 flags 指向客戶端正在使用的資料庫的指標,以及該資料庫的號碼 當前要執行的命令 命令的引數 命令的個數,以及指向命令實現函式的指標 輸入緩衝區 querybuf 輸出緩衝區 複...

C 客戶端和伺服器端

1 c s 客戶端應用程式 winform wpf 平級 資料是存放在其他的電腦上或伺服器上 資料的加工是在使用者的電腦上執行的,會對使用者的電腦配置有所要求 2 b s 網頁端應用程式 asp.net 統稱 asp.net webform asp.net mvc 平級 使用者傳送乙個請求到iis伺...