2 xaioxaio xaioxaio 于 2016.03.07 08:03 提问

android局域网内在线设备如何显示 10C

大家好,第一次提问,请大家帮忙一下。最近想用android实现一个功能,显示通过wifi连接到同一台路由器的所有在线设备人数和设备名称,我想通过ping子网的方式,填充arp表,然后通过读取arp表获取在线设备数目,但不知道具体如何去实现,该不会要开256个线程吧?请大神指点一下,有大神有demo吗,给小弟参考一下。

3个回答

wen_wxpk
wen_wxpk   2016.03.07 08:23

“我想通过ping子网的方式,填充arp表,然后通过读取arp表获取在线设备数目",我没做过,不过我的思路是这样的,既然是ping,可以试试每隔一段时间,ping一次,遍历所有ip地址。。

xaioxaio
xaioxaio 如果不用ping,不知道有没有更好的方式?
2 年多之前 回复
rui888
rui888   Ds   Rxr 2016.03.07 09:13
rui888
rui888 回复xaioxaio: 他可以用这个 扫描方法试试https://github.com/rorist/android-network-discovery/blob/master/src/info/lamatricexiste/network/ActivityPortscan.java
2 年多之前 回复
xaioxaio
xaioxaio thanks,这个demo我看到过,开了256个线程。他还想建立socket连接,我只是想将当前在线的设备数显示出来就好。
2 年多之前 回复
qq_33421519
qq_33421519   2016.03.07 09:53

每隔一段时间,ping一次,遍历所有ip地址。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
局域网内获取周围设备的ip和端口
现在智能家居,物联网非常火,推进了WiFi模块的使用,出货量大为增加。据了解,现在大部分WiFi模块在第一次配置的时候是采用udp广播的方式来通讯的,手机端将路由的名称和密码通过udp 广播的方式发送给WiFi模块,这样的方式适合远程控制,在和WiFi模块近距离通讯的时候如果WiFi模块已经连上了路由,我们如何获取WiFi模块的ip,和 端口呢?下面介绍mdns协议--发现周围设备的ip和端口。
Android获取局域网所有设备的ip地址
 android 手机局域网扫描PC机;   利用android的ping命令扫描局域网内所有ip, 并对其进行socket通信       import java.io.DataInputStream; import java.io.IOException; import java.io.PrintWriter; import java.net.In
局域网内android设备发现及通讯
最近一个项目需要实现在局域网内android手机操控另一个没有显示屏的android设备(音箱),具体实现就是手机端向音箱端发送命令字符串,音箱端通过解析命令字符串来完成操作,而手机端也要实时显示音箱当前的状态(正在播放什么歌曲之类的信息),这样就需要两边的交互要具有稳定性和快捷性,不然用户体验就会非常差。                博主替换了三套方案终于在稳定性和快捷性上基本达到要求,下面
Android获取局域网设备名称方法
在Android系统中调用Java的InetAdress类获取局域网内的设备的主机名,通常是获取不到的,一般都是会返回BOGON这个名字,此时,需要用另一个类去实现,NbtAddress,通过该类能够获取局域网内的PC的设备名称,手机和苹果的设备还是不能获取,因为该类里面的实现使用的是IBM早期的NETBIOS协议,使用的时候比较简单,将jar包放入工程, NbtAddress nbtAddre
Android 局域网内功能模块开发,教你怎么快速获取局域网内所有IP并且进行通信------ MulticastSocket
Android 局域网内功能模块开发,教你怎么快速获取局域网内所有IP并且进行通信------ MulticastSocket
局域网android设备发现功能
局域网android设备发现功能,包括udp发现和蓝牙发现,可进行连接通信
探测局域网内的在线IP
给局域网中所有的计算机发送消息 打开记事本输入: @echo off set /a ip0 = 172 set /a ip1 = 20 set /a ip2 = 18 set /a ip3 = 1 :ping ping %ip0%.%ip1%.%ip2%.%ip3% -n 1 -w 1 | find "TTL" >>tmp1.txt set /a ip3 = %ip3% + 1
C#获取局域网内所有联网设备的IP地址和MAC地址
C#获取局域网内所有联网设备的IP地址和MAC地址
通过广播发现局域网内的其他设备
被问到一个问题,  一个封闭, 无法连接外网的局域网内,  两个SIP终端如何建立会话?    SIP终端建立会话其实并非一定需要SIP Server参与, 如果其中一个SIP终端知道另一个IP, 可以直接向其发起呼叫即可, 于是问题就转化为如何发现局域网内的其他设备,  这个可以用类似Device-discovery的思路来解决, 一个设备在网内进行广播, 受到广播的其他设备回复后, 发起广播
linux: 查询局域网内在线的主机ip
查询局域网内在线的主机ip nmap -sT 192.168.1.0/24