Qt TCP (小型聊天窗口)
实现的具体功能为:
- 服务器端需要主动监听,可以主动断开连接,可以发送信息给客户端
- 客户端需要输入主机,端口号,需要主动连接,可以主动断开连接,可以发送信息给服务器端
- 服务器端和客户端都能看到聊天记录
服务器端的搭建:
创建一个TCP_Server项目
1.首先在.Pro文件中添加:
QT+=networkui界面中添加以下控件:
2. tcp_server.h文件
1 #ifndef TCP_SERVER_H 2 #define TCP_SERVER_H 3 4 #include <QWidget> 5 #include<QTcpServer> 6 #include<QTcpSocket> 7 QT_BEGIN_NAMESPACE 8 namespace Ui 9 QT_END_NAMESPACE 10 11 class tcp_server : public QWidget 12 ; 33 #endif // TCP_SERVER_H3.tcp_serverpp文件
1 #include "tcp_server.h" 2 #include "ui_tcp_server.h" 3 #include<QMessageBox> 4 tcp_server::tcp_server(QWidget *parent) 5 : QWidget(parent) 6 , ui(new Ui::tcp_server) 7 ); 24 connect(socket,&QTcpSocket::disconnected,socket,&QTcpSocket::deleteLater);//断开连接后,删除该套接字 25 } 26 else 27 30 31 }); 32 33 } 34 35 tcp_server::~tcp_server() 36 39 40 41 void tcp_server::on_pushButton_clicked()//listen 42 48 } 49 50 void tcp_server::on_pushButton_3_clicked()//断开连接 51 56 else 57 64 } 65 66 void tcp_server::on_pushButton_2_clicked()//发送数据 67 72 else 73 78 }客户端的搭建:
创建一个TCP_Client项目
1.pro文件添加
QT+=networkui界面中添加:
2. tcp_client.h文件
1 #ifndef TCP_CLIENT_H 2 #define TCP_CLIENT_H 3 4 #include <QWidget> 5 #include<QTcpSocket> 6 QT_BEGIN_NAMESPACE 7 namespace Ui 8 QT_END_NAMESPACE 9 10 class tcp_client : public QWidget 11 ; 30 #endif // TCP_CLIENT_H3.tcp_clientpp文件
1 #include "tcp_client.h" 2 #include "ui_tcp_client.h" 3 #include<QMessageBox> 4 tcp_client::tcp_client(QWidget *parent) 5 : QWidget(parent) 6 , ui(new Ui::tcp_client) 7 ); 16 17 } 18 19 tcp_client::~tcp_client() 20 23 24 25 void tcp_client::on_pushButton_clicked()//连接到服务器 26 30 31 void tcp_client::on_pushButton_2_clicked()//断开 32 36 37 void tcp_client::on_pushButton_3_clicked()//发送 38 45 else 46 49 }以下为运行过程:
输入主机和端口号然后点击连接,然后点击listen监听
点击yes即可连接
服务器端向客户端发信息:
客户端向服务器端发信息:
点击断开连接,即可断开:
下一篇:C++ error C2143: 语法错误: 缺少“;”(在“*”的前面)
Qt
lbc文件怎么看,lbc文件用什么打开?
lab文件怎么看,lab文件用什么打开?
pim文件怎么看,pim文件用什么打开?
pip文件怎么看,pip文件用什么打开?
pig文件怎么看,pig文件用什么打开?
pid文件怎么看,pid文件用什么打开?
pie文件怎么看,pie文件用什么打开?
0文件怎么看,0文件用什么打开?
picnc文件怎么看,picnc文件用什么打开?
pict文件怎么看,pict文件用什么打开?