qt中使用tcp通信
时间: 2024-03-15 22:14:47 浏览: 123
QT+TCP通信Client端
在Qt中,可以使用QTcpSocket和QTcpServer类来实现TCP通信。下面是一个简单的示例代码:
```cpp
// 客户端
QTcpSocket* socket = new QTcpSocket(this);
// 连接到服务器
socket->connectToHost("服务器IP地址", 端口号);
// 发送数据
socket->write("Hello, server!");
// 接收数据
connect(socket, &QTcpSocket::readyRead, this, [=]() {
QByteArray data = socket->readAll();
// 处理接收到的数据
});
// 断开连接
socket->disconnectFromHost();
```
```cpp
// 服务器
QTcpServer* server = new QTcpServer(this);
// 监听端口
server->listen(QHostAddress::Any, 端口号);
// 接收到新连接
connect(server, &QTcpServer::newConnection, this, [=]() {
QTcpSocket* clientSocket = server->nextPendingConnection();
// 接收数据
connect(clientSocket, &QTcpSocket::readyRead, this, [=]() {
QByteArray data = clientSocket->readAll();
// 处理接收到的数据
// 发送数据给客户端
clientSocket->write("Hello, client!");
});
// 客户端断开连接
connect(clientSocket, &QTcpSocket::disconnected, this, [=]() {
// 处理客户端断开连接的逻辑
});
});
// 关闭服务器
server->close();
```
这只是一个简单的示例,实际应用中可能需要考虑更多的情况,如错误处理、多线程等。可以根据具体需求进行扩展和修改。
阅读全文