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的差不多是吧.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步