qtcpsocket使用示例
时间: 2023-10-03 18:06:42 浏览: 89
qtcpsocket 使用例子
QTcpSocket 是 Qt 框架中用于 TCP 网络通信的类。它允许您创建一个 TCP 连接并发送和接收数据。下面是一个简单的使用示例:
```cpp
#include <QtNetwork>
int main(int argc, char *argv[]) {
QCoreApplication app(argc, argv);
QTcpSocket tcpSocket;
tcpSocket.connectToHost("www.example.com", 80); // 建立连接
if (tcpSocket.waitForConnected()) { // 等待连接成功
QByteArray requestData = "GET / HTTP/1.0\r\n\r\n"; // 请求数据
tcpSocket.write(requestData); // 发送请求数据
tcpSocket.waitForBytesWritten(); // 等待数据发送完成
tcpSocket.waitForReadyRead(); // 等待接收响应数据
QByteArray responseData = tcpSocket.readAll(); // 读取响应数据
qDebug() << responseData;
}
else {
qDebug() << "Connection failed!";
}
return app.exec();
}
```
以上示例中,我们创建了一个 QTcpSocket 对象并连接到主机“www.example.com”的端口 80。然后,我们发送了一个 HTTP GET 请求并等待响应。在接收到响应后,我们读取了所有的响应数据并打印到控制台上。
需要注意的是,QTcpSocket 的数据收发是阻塞的,也就是说,在等待操作完成之前,程序会一直阻塞在当前线程中。因此,在 GUI 应用程序中,我们需要使用多线程或者信号与槽机制来避免阻塞主线程。
阅读全文