1. 程式人生 > >用qt寫tcp服務端和客戶端介面遇到的問題及解決方法

用qt寫tcp服務端和客戶端介面遇到的問題及解決方法

問題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;

例項化出的物件