c++ qt tcp通信客户端服务端代码
时间: 2023-08-06 14:09:51 浏览: 70
你好!以下是一个简单的C++ Qt TCP通信的客户端和服务端代码示例:
服务端代码:
```cpp
#include <QTcpServer>
#include <QTcpSocket>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QTcpServer server;
server.listen(QHostAddress::Any, 1234); // 监听所有地址的1234端口
QObject::connect(&server, &QTcpServer::newConnection, [&]() {
QTcpSocket *socket = server.nextPendingConnection();
QObject::connect(socket, &QTcpSocket::readyRead, [&]() {
QByteArray data = socket->readAll();
qDebug() << "接收到客户端消息:" << data;
socket->write("服务器已接收到消息");
socket->flush();
});
});
return a.exec();
}
```
客户端代码:
```cpp
#include <QTcpSocket>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QTcpSocket socket;
socket.connectToHost("localhost", 1234); // 连接到本地主机的1234端口
QObject::connect(&socket, &QTcpSocket::connected, [&]() {
qDebug() << "已连接到服务器";
socket.write("Hello Server");
socket.flush();
});
QObject::connect(&socket, &QTcpSocket::readyRead, [&]() {
QByteArray data = socket.readAll();
qDebug() << "接收到服务器消息:" << data;
socket.close();
});
return a.exec();
}
```
这个示例中,服务端监听在1234端口,客户端连接到本地主机的1234端口。当客户端连接成功后,客户端会发送"Hello Server"的消息给服务端,服务端接收到消息后会回复"服务器已接收到消息"给客户端。客户端接收到回复后会打印出来并关闭连接。
你可以根据需要修改代码来满足你的具体需求。希望对你有帮助!如有其他问题,请随时提问。