用qt写一段代码验证socket的通讯
时间: 2024-02-09 08:11:17 浏览: 33
下面是一个简单的示例代码,使用Qt实现了TCP Socket的通讯:
```c++
#include <QtNetwork/QTcpSocket>
#include <QtWidgets/QApplication>
#include <QtWidgets/QMessageBox>
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 创建一个QTcpSocket对象
QTcpSocket socket;
// 连接到服务器
socket.connectToHost("127.0.0.1", 8888);
// 等待连接成功
if (!socket.waitForConnected(3000)) {
QMessageBox::warning(nullptr, "Error", "Failed to connect to server.");
return -1;
}
// 发送数据
QString message = "Hello, server!";
QByteArray buffer = message.toUtf8();
socket.write(buffer);
// 等待数据接收完成
if (!socket.waitForBytesWritten(3000)) {
QMessageBox::warning(nullptr, "Error", "Failed to send data to server.");
return -1;
}
// 接收数据
if (socket.waitForReadyRead(3000)) {
QByteArray receivedData = socket.readAll();
QString receivedMessage = QString::fromUtf8(receivedData.constData(), receivedData.length());
qDebug() << "Received message from server: " << receivedMessage;
}
// 断开连接
socket.disconnectFromHost();
return a.exec();
}
```
这段代码实现了与IP地址为127.0.0.1,端口为8888的服务器进行通讯。在连接成功后,向服务器发送了一条消息,等待服务器回复并打印出来,最后断开连接。需要注意的是,在实际的应用中,需要根据具体的需求进行相应的调整和优化。
阅读全文