四十六、Qt网络(六)UDP
像QQ那样,当有很多用户,发送的大部分都是短消息,要求能及时响应,并且对安全性要求不是很高的情况下使用UDP协议。发送(客户请求发送数据)
很简单,仅需QUdpSocket 的writeDatagram函数即可
void Widget::on_pushButton_clicked()
{ QUdpSocket *sender;
sender = new QUdpSocket(this);
QByteArray datagram = "hello world!";
sender->writeDatagram(datagram.data(),datagram.size(),QHostAddress("192.168.1.100"),45454);
//sender->writeDatagram(datagram.data(),datagram.size(),QHostAddress::Broadcast,45454);
// sender->writeDatagram(datagram.data(),datagram.size(),QHostAddress::LocalHost,45454);
delete sender;
}
接收(服务器端监听)
使用QUdpSocket 的bind函数监听某个端口
当监听的端口有数据到达时,QUdpSocket 的信号readyRead()就emit,然后在对应的槽函数里使用QUdpSocket 的readDatagram读取数据

本文详细介绍了在QT中使用UDP进行网络通信时,QUdpSocket如何配合readyRead()信号处理接收到的数据。readyRead()会在有新数据可供读取时触发,确保每次新数据到达时都会通知。注意不应在readyRead()信号的槽函数中重新进入事件循环或调用waitForReadyRead(),以防止信号被不必要的重发。
最低0.47元/天 解锁文章
3329

被折叠的 条评论
为什么被折叠?



