Qt下的udp编程

项目需要一个基于udp的客户端, 看着Qt是有个QUdpSocket的类的, 但自带的例子和类的说明都没咋说明白:

怎么用一个QUdpSocket既当发送端, 又当接收端?

谷歌一顿后, 发现很多老内和老外都有这种疑问, 但网上更多的是询问, 没几个给出解决方案的, 不过最终还是找到一个靠谱的, 纪录在这儿:

// initialize socket
QUdpSocket* _socket = new QUdpSocket;
_socket->connectToHost(_ip, _port);

// send data
_socket->writeDatagram(request, QHostAddress(_ip), _port);

// recv data
if (_socket->hasPendingDatagrams())
{
    QByteArray data;
    data.resize(_socket->pendingDatagramSize());
    _socket->readDatagram(data.data(), data.size());
}

看流程, 其实跟tcp的差不多是吧.

原文地址:https://www.cnblogs.com/chaoswong/p/5568943.html