用qt寫tcp服務端和客戶端介面遇到的問題及解決方法
阿新 • • 發佈:2019-02-05
問題1
#include <QTcpSocket>
#include <QtcpServer>
在包含這兩個標頭檔案時提示找不到檔案
此時需要在此工程的.pro檔案中新增
QT += network
問題2
服務端的ui介面上肯定會有停止監聽的按鈕,在這個按鈕的槽函式裡需要新增
server->close();
否則,埠仍會繼續監聽,再次點選啟動監聽按鈕,將會提示改埠已在監聽
問題3
QObject::connect(clientsocket, SIGNAL(disconnected()), this, SLOT(tcpclientsocket_Disconnected()));
QObject::connect(clientsocket, SIGNAL(readyRead()), this, SLOT(tcpclientsocket_Read_Data()));
QObject::connect(server, SIGNAL(newConnection()), this, SLOT(server_New_Connect()));
訊號繫結需要按照如上方式進行繫結,其中server和clientsocket是分別用
QTcpSocket *clientsocket;
QTcpServer *server;
例項化出的物件