基本信息
源码名称:扫描局域网设备的IP地址(ipscanner)
源码大小:4.85KB
文件格式:.zip
开发语言:C/C++
更新时间:2021-10-20
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
基于udp扫描出局域网内在线设备的IP地址
QHostAddress udp_client_address;//声明一个QHostAddress对象
unsigned short int udp_client_port = 0;//客户端端口号
QByteArray udp_datagram;//upd client 发来的数据,里面包含内容和大小
while( udp_server->hasPendingDatagrams() )
{
udp_datagram.resize( udp_server->pendingDatagramSize());
udp_server->readDatagram(udp_datagram.data(),udp_datagram.size(), &udp_client_address, &udp_client_port);
//比较数据是否为有效数据
if(strcmp(udp_datagram.data(),VALID_DATA) == 0)
{
//注意这里的ip显示的格式是这样的,我们需要转换一下"::ffff:192.168.xxx.xxx" ==> "192.168.xxx.xxx"
QString ip_addr_temp = udp_client_address.toString();
QString ip_addr;
int i = 0;
//填充ip地址
for(i = 7; ip_addr_temp[i] != '\0'; i )
{
ip_addr[i-7] = ip_addr_temp[i];
}
//插入列表
iot_dev_ip_item_add(ip_addr QString(":") QString().number(udp_client_port),udp_datagram.data());
}
//非法数据,不处理
}