5.1 TCP
网络调试助手
5.1.1
项目概述
网络相关的一些基础概念
-
面试用
学习
QTcpServer
学习
QTcpClient
学习
TextEdit
特定位置输入文字颜色
学习网络通信相关知识点
复习巩固之前
UI
控件
程序运行如下图所示
5.1.2
开发流程

5.1.3 QTtcp
服务器的关键流程
工程建立,需要在
.pro
加入网络权限

创建一个基于
QTcpServer
的服务端涉及以下关键步骤:
1.
创建并初始化
QTcpServer
实例
:
实例化
QTcpServer
。
调用
listen
方法在特定端口监听传入的连接。
2.
处理新连接
:
为
newConnection
信号连接一个槽函数。
在槽函数中,使用
nextPendingConnection
获取
QTcpSocket
以与客户端通信。
3.
读取和发送数据
:
通过连接
QTcpSocket
的
readyRead
信号来读取来自客户端的数据。
使用
write
方法发送数据回客户端。
4.
关闭连接
:
在适当的时候关闭
QTcpSocket
。
示例代码可能如下
class
MyServer
:
public
QObject
{
Q_OBJECT
public
:
MyServer
() {
QTcpServer
*
server
=
new
QTcpServer
(
this
);
connect
(
server
,
&
QTcpServer::newConnection
,
this
,
&
MyServer::onNewConnection
);
server
->
listen
(
QHostAddress::Any
,
1234
);
}
private
slots
:
void
onNewConnection
() {
QTcpSocket
*
clientSocket
=
server
->
nextPendingConnection
();
connect
(
clientSocket
,
&
QTcpSocket::readyRead
,
this
,
&
MyServer::onReadyRead
);
}
void
onReadyRead
() {
QTcpSocket
*
clientSocket
=
qobject_cast
<
QTcpSocket
*>
(
sender
());
// 读取数据
QByteArray data
=
clientSocket
->
readAll
();
// 处理数据
// ...
}
};