Qt TCP (小型聊天窗口)


实现的具体功能为:

  1. 服务器端需要主动监听,可以主动断开连接,可以发送信息给客户端
  2. 客户端需要输入主机,端口号,需要主动连接,可以主动断开连接,可以发送信息给服务器端
  3. 服务器端和客户端都能看到聊天记录

服务器端的搭建:

创建一个TCP_Server项目

1.首先在.Pro文件中添加:

QT+=network

ui界面中添加以下控件:

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_H

3.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+=network

ui界面中添加:

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_H

3.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即可连接

服务器端向客户端发信息:

客户端向服务器端发信息:

点击断开连接,即可断开:



上一篇:Qt TCP通信客户端断开连接有哪些方法

下一篇:C++ error C2143: 语法错误: 缺少“;”(在“*”的前面)


Qt
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图