QT网络开发---TCP通信

末蓝、 2022-12-21 06:09 278阅读 0赞

1.socket通信
Qt也提供基于TCP/IP的套接字(socket)编程,使用时需要添加网络模块和头文件。
1.在项目文件中添加

  1. QT += network

2.代码中添加头文件

  1. #include <QtNetwork>

2.套接字分类

  1. TCP流式套接字 --------------- QTcpSocket
  2. UDP数据报套接字 ------------- QUdpSocket

应用层的网络操作类

  1. QNetworkRequest QNetworkReply QNetworkAccessManager....

3.TCP网络通信的实现
(1)服务器

  1. 1.创建QTcpServer对象
  2. mServer = new QTcpServer;
  3. 2.调用QTcpServer对象的方法进行监听
  4. mServer->listen(QHostAddress::Any/*IP地址*/,端口号);
  5. //当有客户端连上来时,会发送信号(newConnection),连接该信号和槽函数
  6. 3.在槽函数中获取和客户端通信的套接字(QTcpSocket对象)
  7. mSocket = mServer->nextPendingConnection();
  8. 4.和客户端通信
  9. 发送:
  10. 通过QTcpSocket对象的成员函数write发送数据
  11. 接收:
  12. 收到数据触发信号(readyRead),在连接的槽函数中读取收到的数据(read/readAll)

(2)客户端

  1. 1.创建QTcpSocket对象
  2. mSocket = new QTcpSocket;
  3. 2.调用QTcpSocket对象的方法(connectToHost)连接服务器
  4. mSocket->connectToHost(ip,port);
  5. //连接成功发送connected信号
  6. 3.连接成功和服务器通信
  7. 发送:
  8. 通过QTcpSocket对象的成员函数write发送数据
  9. 接收:
  10. 收到数据触发信号(readyRead),在连接的槽函数中读取收到的数据(read/readAll)

运行效果:
在这里插入图片描述

TcpServer 点击启动
在这里插入图片描述

TcpClient 点击连接
在这里插入图片描述
输入内容,互相发送消息
在这里插入图片描述

编译环境windows10,+QT5.12.0在这里插入图片描述

具体代码:https://download.csdn.net/download/weixin_43793181/13114839

发表评论

表情:
评论列表 (有 0 条评论,278人围观)

还没有评论,来说两句吧...

相关阅读