qt的udp数据怎么发送与接收

   2024-10-13 5710
核心提示:在Qt中,可以使用QUdpSocket类来发送和接收UDP数据。发送UDP数据:QUdpSocket socket;QHostAddress receiverAddress(127.0.0.1);

在Qt中,可以使用QUdpSocket类来发送和接收UDP数据。

发送UDP数据:

QUdpSocket socket;QHostAddress receiverAddress("127.0.0.1");quint16 receiverPort = 12345;QByteArray data = "Hello, World!";socket.writeDatagram(data, receiverAddress, receiverPort);

接收UDP数据:

QUdpSocket socket;quint16 port = 12345;if(!socket.bind(port)) {    qDebug() << "Failed to bind to port";    return;}connect(&socket, &QUdpSocket::readyRead, [&](){    while(socket.hasPendingDatagrams()) {        QByteArray datagram;        datagram.resize(socket.pendingDatagramSize());        QHostAddress sender;        quint16 senderPort;        socket.readDatagram(datagram.data(), datagram.size(), &sender, &senderPort);        qDebug() << "Received datagram from" << sender.toString() << ":" << senderPort;        qDebug() << "Data:" << datagram.data();    }});

在上面的代码中,我们首先创建一个QUdpSocket对象来发送和接收UDP数据。在发送数据时,我们使用writeDatagram方法,传入要发送的数据、接收方地址和端口号。在接收数据时,我们首先绑定一个端口号,然后通过readyRead信号来处理接收到的数据。我们可以使用hasPendingDatagrams方法来检查是否有待处理的数据报,再使用readDatagram方法读取数据报的内容、发送方地址和端口号。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号