QT使用UDP Socket通信例程
时间: 2023-06-27 13:07:16 浏览: 102
下面是一个使用QT的UDP Socket通信的例程:
```cpp
// 创建UDP Socket
QUdpSocket *udpSocket = new QUdpSocket(this);
// 绑定端口号和地址
udpSocket->bind(QHostAddress::LocalHost, 9999);
// 发送数据
QByteArray datagram = "Hello, world!";
udpSocket->writeDatagram(datagram.data(), datagram.size(),
QHostAddress::LocalHost, 8888);
// 接收数据
connect(udpSocket, &QUdpSocket::readyRead, this, [=]() {
while (udpSocket->hasPendingDatagrams()) {
QByteArray datagram;
datagram.resize(udpSocket->pendingDatagramSize());
udpSocket->readDatagram(datagram.data(), datagram.size());
qDebug() << "Received message: " << datagram;
}
});
// 关闭Socket
udpSocket->close();
```
在上面的例程中,我们首先创建了一个UDP Socket,并绑定了端口号和地址。然后我们发送了一条消息到远程主机,并在接收到远程主机的回复时输出消息内容。最后,我们关闭了Socket。
注意,在接收数据时,我们使用了`readyRead`信号和`hasPendingDatagrams`函数来检查是否有数据可以读取,并使用`readDatagram`函数来读取数据。
阅读全文