下你所需,载你所想!
汇集开发技术源码资料

扫描局域网设备的IP地址(ipscanner)

:4.85KB :1 :2022-10-09 15:23:14

部分简介

扫描局域网设备的IP地址(ipscanner)如果开发者对于本文件有需要的可以参考。
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());
}
//非法数据,不处理
}

热门推荐

相关文章