QT學習筆記之QT網路程式設計

2022-08-29 15:21:30 字數 1892 閱讀 3438

tcp—傳輸控制協議,提供的是面向連線、可靠的位元組流服務。當客戶和伺服器彼此交換資料前,必須先在雙方之間建立乙個tcp連線,之後才能傳輸資料。tcp提供超時重發,丟棄重複資料,檢驗資料,流量控制等功能,保證資料能從一端傳到另一端。

udp—使用者資料報協議,是乙個簡單的面向資料報的運輸層協議。udp不提供可靠性,它只是把應用程式傳給ip層的資料報傳送出去,但是並不能保證它們能到達目的地。由於udp在傳輸資料報前不用在客戶和伺服器之間建立乙個連線,且沒有超時重發等機制,故而傳輸速度很快(as3不支援udp)

傳送端

#include

qudpsocket *sender;

sender =

new qudpsocket(this);

qbytearray datagram = 「hello world!」;

//udp廣播

sender->writedatagram(datagram.

data(),datagram.size(),qhostaddress::broadcast,6665);

//udp單播

qhostaddress serveraddress = qhostaddress("10.21.11.66");

sender->writedatagram(datagram.

data(), datagram.size(),serveraddress, 6665);

// writedatagram函式原型,傳送成功返回位元組數,否則-1

//qint64 writedatagram(const char *data,qint64 size,const qhostaddress &address,quint16 port)

//qint64 writedatagram(const qbytearray &datagram,const qhostaddress &host,quint16 port)

udp接收端

#include

qudpsocket *receiver;

//訊號槽

private slots:

void readpendingdatagrams();

receiver =

new qudpsocket(this);

receiver->bind(qhostaddress::localhost, 6665);

connect(receiver, signal(readyread()),this, slot(readpendingdatagrams()));

void readpendingdatagrams()

}

tcp client端

#include

qtcpsocket *client;

char *data="hello qt!";

client = new qtcpsocket(this);

client->connecttohost(qhostaddress("10.21.11.66"), 6665);

client->write(data);

tcp server端

#include

qtcpserver *server;

qtcpsocket *clientconnection;

server = new qtcpserver();

server->listen(qhostaddress::any, 6665);

connect(server, signal(newconnection()), this, slot(acceptconnection()));

void acceptconnection()

void readclient()

Qt學習筆記 網路程式設計 UDP

qt中qudpsocket類進行收發udp資料報,該類父類是qabstractsocket。簡單地說,套接字socket ip位址 port埠號 ip指定網路中的哪乙個主機 port埠號指定主機的哪乙個應用程式 要使用udp,工程檔案中必須新增qt network 是否有資料可讀 bool qudp...

Qt程式設計 Qt學習筆記《三》

1.如果程式中使用了png以外格式的,在發布程式時就要將qt安裝目錄下plugins中的imagineformats檔案複製到發布檔案中。2.在函式宣告處快速新增函式定義可單擊函式名,按下alt enter鍵後,按下enter鍵就可以進入到函式定義部分。3.關聯槽和訊號的兩種方法 1.直接在設計器中...

學習Qt網路程式設計

qtcpsocket 詳細描述 qtcpsocket 類提供乙個tcp套接字 tcp是乙個面向連線,可靠的的通訊協議,非常適合於連續不斷的資料傳遞 qtcpsocket 是qabstractsocket類非常方便的乙個子類,讓你建立乙個tcp連線和資料流交流。注意 tcp套接字不能以qiodevic...