首先我們需要設定伺服器:
專案檔案中加入:qt += network
相關標頭檔案:
#include//監聽套接字
#include//建立連線的通訊套接字12
在標頭檔案中,定義套接字:
qtcpserver *tcpserver;//監聽套接字
qtcpsocket *tcpsocket;//通訊套接字12
隨後,在cpp檔案中初始化:
//初始化套接字
tcpserver = null;
tcpsocket = null;
//監聽套接字,指定父物件自動**空間
tcpserver = new qtcpserver(this);
//設定埠
tcpserver->listen(qhostaddress::any,8888);12
3456
7當新連線建立時,監聽套接字會自動觸發訊號:newconnection ,讀取到資料之後,通訊套接字會觸發訊號readyread,因此,我們可以通過訊號槽機制進行操作,這裡巢狀了兩個qt5的lambda表示式:
//初始化套接字
tcpsocket = null;
//分配空間,指定父物件
tcpsocket = new qtcpsocket(this);12
34訊號槽與伺服器類似,這裡的lambda表示式沒有巢狀:
效果如圖,連線建立後伺服器與客戶端相互傳送資料:
如果閱讀本篇部落格有障礙,可參考網路程式設計基礎知識:
可以參考
原文:
tcp網路伺服器程式
tcp server.c include include include include include include include include define portnumber 3333 int main 伺服器端填充sockaddr結構 bzero server addr,sizeof...
QT多執行緒伺服器Tcp
最近寫乙個專案用到了伺服器開啟多執行緒,閱部落格無數,奈何沒有理解精髓,致晚上夢見自己寫出來了。次日,奮筆疾書,埋頭苦學,最後終於寫出來了。現在總結一下。伺服器多執行緒需要用到 qtcpserver qtcpsocket qthread qtcpserver 最主要的乙個incomingconnec...
網路 tcp 伺服器 server
import socket def main 1.買個手機 建立套接字 socket tcp server socket socket.socket socket.af inet,socket.sock stream 2.插入手機卡 繫結本地資訊 bind tcp server socket.bin...