QT實現TCP通訊

2021-10-20 01:40:25 字數 1492 閱讀 2733

目錄前言

一、tcp服務端的實現流程:

二、tcp客戶端端的實現流程: 總結

tcp通訊的實現需要包含2個部分,tcp服務端和tcp客戶端。

首先在工程檔案中新增network:

qt       += core gui network
.h需要引入標頭檔案:

#include #include
1.建立qtcpserver的物件用作監聽套接字;

mserver = new qtcpserver(this);
2.使用listen()方法監聽網絡卡的ip和埠;

mserver->listen(qhostaddress::localhost,8080);
3.如果有新的連線過來,並且連線成功,伺服器會觸發newconnection()訊號,通過槽函式取出連線成功的scoket;

connect(mserver,&qtcpserver::newconnection,

this,&widget::slotnewconnection);

void widget::slotnewconnection()

}

4.如果有資料成功傳送過來,對方的通訊套接字qtcpsocket會觸發readyread()訊號,在槽函式可以進行讀取。

void widget::slotreadyread()

.h需要引入標頭檔案:

#include
1.建立qtcpsocket套接字;

msocket = new qtcpsocket(this);
2.使用這個物件連線伺服器;

msocket->connecttohost(qhostaddress::localhost,8080);
3.使用write()函式向伺服器傳送訊息;

qbytearray buffer = ui->texteditsend->toplaintext().toutf8();

msocket->write(buffer);

4.當socket接收緩衝區有新資料到來時,會發出readread()訊號,因此為該訊號新增槽函式以讀取資料;

qbytearray buffer = msocket->readall();

qstring str(buffer);

5.斷開與伺服器的連線(關於close()和disconnectfromhost()的區別,可以按f1看幫助)

msocket->close();

msocket->deletelater();

以上就是在qt中實現tcp通訊的基本步驟和簡單示例。

QT實現TCP通訊

對於qt下的tcp,如下圖 一.伺服器端 1.建立套接字 server new qtcpserver this 監聽套接字 server listen qhostaddress any,8888 qhostaddress對應網絡卡ip位址 setwindowtitle 伺服器 8888 2.客戶端發...

Qt 通訊協議 tcp網路程式設計實現

qt tcp伺服器端 tcp.h include include include class tcp public qthread 監聽連線客戶端,接收客戶端傳送的資料資訊,處理,返回 include include include tcp tcp qobject parent qthread pa...

QT5中實現TCP協議簡單通訊

qt版本 qt5.11 其他qt5版本均支援。1 tcp伺服器建立 首先建立tcpserver工程,涉及到 tcpserver tcpclientsocket server三個檔案和main主檔案,在tcpserver.pro中新增如下語句 qt network1 a 標頭檔案 tcpserver....