前言
最近在写Qt udp 接口类,我想用户在接口函数中传入一个 ip 地址后, 自动判断是用单播组播或者广播方式。
实现代码
QHostAddr hostAddr = QHostAddr("192.168.1.1");
if(hostAddr.isNull())
{
qDebug() << "address is null";
return -1;
}
if(hostAddr.isEqual(QHostAddress::Broadcast))
{
qDebug() << "this is address is Broadcast";
}
else if(hostAddr.isMulticast())
{
qDebug() << "this is address is Multicast";
}
else
{
qDebug() << "this is address is Singlecast";
}
主要点
QHostAddr 自带了判断一个 ip 是否时组播 ip。isMulticast