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

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

3个回答

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

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
探测局域网内设备
需求: 探测当前局域网内的所有在线设备 设计想法 a. 采用TCP探测的方法, 经实践后,发现实现复杂遂放弃 b. 采用UDP广播的方式,实践后发现,有些设备接受不到UDP广播,由于进度原因未做深入探究 c. 采用ARP广播,获得所欲在局域网内的设备,然后发生身份确认消息包,得到确认的确定为在线设备。 实现代码 以下为基于第三种想法实现的代码 #include <windows.h&gt...
搜索局域网内设备IP
1.局域网设备IP搜索 2.发送广播出去,同时启动网络侦听接收 3.支持跨网段设备IP搜索
搜索局域网内IPCamera设备
搜索局域网内IPCamera设备 public Receiver() { _thread = new Thread( delegate() { // Create the client UDP socket. Listing on port 9003 IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, 9003); UdpClient client = new UdpClient(endPoint); // Receive the packets asynchronously. client.BeginReceive( new AsyncCallback(OnPacketReceived), new UdpState() { Client = client, EndPoint = endPoint }); // Wait for the thread to end. _shutdownThread.WaitOne(); } ); }
Android如何获取局域网内所有设备的IP和名称
急求方法,最好有源码。rn如何获取局域网内所有设备的IP和名称,最好有源码demo。rn谢谢!
android局域网内视频聊天
android(安卓)局域网内视频聊天,聊天通讯类学习源码,客户端。
c# 显示局域网内在线的IP
能显示局域网内在线的IP,不过要改一下网段设置
局域网内如何让设备远程访问指定设备的数据库MySQL
局域网内如何让设备远程访问指定设备的数据库MySQL
在局域网内如何发送消息?
已将MESSAGE服务开启,能收到局域网内发来的消息,但无法使用net send 命令发送消息,如何解决呢?
局域网内如何拷贝文件!?
局域网内,已有对方的足够权限的用户!rn如何,使用程序将本机的文件拷贝到对方的机器上!
如何扫描局域网内在线的电脑
说一下编程的思想 要是有源代码那就更好了 C\C++
查找局域网内在线IP
查找局域网内所有在线IP,VB源码 小程序 下载看看吧
局域网内的问题``在线等
两台机子`````一个交换机``````一台打印机```````一台机子接着打印机``另外一台机子```通过网络来连打印机````不知道为什么````另一台机子可以接到打印机```但就是不能访问那机子是的数据````提示``没有权限```````郁闷``如果没有权限怎么会能连上打印机类```````````请教`````````
获取局域网内的在线IP
请问怎样可以取的局域网内在线机器的IP???
Java UDP 搜索局域网内可用设备
我想向一个局域网内的所有设备都发送一特定消息,然后在看设备有没回复:rn下面是C语言实现部分代码rnrn[code=C/C++]err = setsockopt ( sockListener,rn SOL_SOCKET,rn SO_RCVTIMEO,rn (char *) &TimeOut,rn sizeof (TimeOut)rn );rn if ( SOCKET_ERROR == err )rn rn return ;rn rn saUdpCli.sin_family = AF_INET;rn saUdpCli.sin_port = htons(53550);rn saUdpCli.sin_addr.s_addr = htonl(INADDR_ANY);rn if(bind( sockListener, (SOCKADDR *)&saUdpCli, sizeof(SOCKADDR_IN))==SOCKET_ERROR)[/code]rnrn上面C语言代码可以搜索局域网内可用设备,但是java中没有setsockopt, AF_INET,INADDR_ANY请问怎么写能达到类似效果。rnrn[code=Java]private static final int MAX_DATA_PACKET_LENGTH = 40;rn private byte[] buffer = new byte[MAX_DATA_PACKET_LENGTH];rn private DatagramPacket dataPacket;rn private DatagramSocket udpSocket;rnrntry rn udpSocket = new DatagramSocket(53550);rn catch (SocketException e) rn // TODO Auto-generated catch blockrn e.printStackTrace();rn rn try rn udpSocket.setSoTimeout(5000);rn catch (SocketException e1) rn // TODO Auto-generated catch blockrn e1.printStackTrace();rn rnrn SocketAddress localAddr = new InetSocketAddress(53550);rn try rn udpSocket.bind(localAddr);rn catch (SocketException e1) rn // TODO Auto-generated catch blockrn e1.printStackTrace();rn rnrn dataPacket = new DatagramPacket(buffer, MAX_DATA_PACKET_LENGTH);rn byte[] out = new byte[] 0x4E, 0x45, 0x54, 0x57, 0x10, 0x00,rn 0x00, 0x00 ;rn dataPacket.setData(out);rn dataPacket.setLength(out.length);rn dataPacket.setPort(53550);rn try rn udpSocket.setBroadcast(true);rn InetAddress broadcastAddr = InetAddress.getLocalHost();rnrn //InetAddress.getByName("10.42.5.53"); dataPacket.setAddress(broadcastAddr);rn // dataPacket.setAddress(INADDR_ANY);rnrn udpSocket.send(dataPacket);rn catch (UnknownHostException e) rn // TODO Auto-generated catch blockrn e.printStackTrace();rn catch (IOException e) rn // TODO Auto-generated catch blockrn e.printStackTrace();rn rn DatagramPacket response = new DatagramPacket(buffer,rn MAX_DATA_PACKET_LENGTH);rn while (true) rnrn try rn udpSocket.receive(response);rn catch (IOException e) rn // TODO Auto-generated catch blockrn e.printStackTrace();rn break;rn rn String data = new String(response.getData());rn if (response.getData()[4] == 0x20) rn Log.v("ok", "Found!");rn rn rn udpSocket.close();rnrnrnrn[/code]rnrn上面代码中// InetAddress.getByName("10.42.5.53"); 如果不注释,则可以得到设备的回应,但是我想搜索可用设备,而不是查看指定IP是否存在。在网上找了很久都找不到,谢谢各位啦
请教局域网内设备搜索问题
主机和若干网络设备都连在局域网内,设备的ip未知,也可能同主机不在同一网段内,请问怎么搜索到设备并与之通信?谢谢rn
怎么判断远程局域网内的设备是否在线
远程局域网交换机下面有N个设备rn通过端口映射映射到了交换机的N个端口上rnrn怎么远程判断这N个设备是否在线呢?rn
访问局域网内设备的一个方案
访问局域网内设备的一个方案 由于本人最近有需求访问自己家中的一台设备,家中宽带肯定不是公网IP,我需要在任何一个可以接入外网的设备上(设备B)访问到家中某台设备,是否可行,当然可行。这里主要说的访问指的是SSH终端访问。家中设备A为linux系统,且已安装好ssh。 方案目的 打通从任何一个接入到Internet的设备到家中设备的SSH通道 实现前提 拥有公网IP的云服务...
局域网内实现高精度设备时钟同步
有时候,需要在局域网内保证各个设备之间时间是同步的,使用PTP协议是个很好的选择,如果有物理层级别的同步支持,可以达到微妙,甚至纳秒级别。...
局域网内获取周围设备的ip和端口
现在智能家居,物联网非常火,推进了WiFi模块的使用,出货量大为增加。据了解,现在大部分WiFi模块在第一次配置的时候是采用udp广播的方式来通讯的,手机端将路由的名称和密码通过udp 广播的方式发送给WiFi模块,这样的方式适合远程控制,在和WiFi模块近距离通讯的时候如果WiFi模块已经连上了路由,我们如何获取WiFi模块的ip,和 端口呢?下面介绍mdns协议--发现周围设备的ip和端口。
通过广播发现局域网内的其他设备
被问到一个问题,  一个封闭, 无法连接外网的局域网内,  两个SIP终端如何建立会话?    SIP终端建立会话其实并非一定需要SIP Server参与, 如果其中一个SIP终端知道另一个IP, 可以直接向其发起呼叫即可, 于是问题就转化为如何发现局域网内的其他设备,  这个可以用类似Device-discovery的思路来解决, 一个设备在网内进行广播, 受到广播的其他设备回复后, 发起广播
局域网内设备与个别上位机不互通
一设备A与上位机B同在一局域网内,同一网段。设备A为ARM7核心,采用LWIP协议栈,B为普通运行XP的上位机。rn偶尔上位机B会陷入一种无法与设备A通信的状态,此时B可ping通其它上位机,及连接web网页。rn若设备B让出IP(A仅与特定IP通信),让上位机C占据该IP,C可与A通信。rn将B改回该IP仍无法与A通信。rn重启B后,通信恢复正常。 (貌似重启A也可恢复,听同事说的尚未验证)。rn此状况易发生在上下班时间段内。正常工作时间及周末未观察到。rnrn请教大虾们,分析下故障的可能原因,及相应解决方案,不胜感激。(若某种网络攻击方法可使得设备B陷入此状态也可以。)
局域网内扫描设备的简单Java实现
个人博客原文链接 更多文章欢迎访问个人博客站点   在产品的使用中我们一般都要设置一个配置环节,这个环节可以设定主机的IP地址等信息,但是这样配置的话使得我们的产品用起来效果不是很好,因此我想到了实现局域网IP扫描的功能,IP局域网扫描是指定IP网段获取IP地址信息的方法,在加上PING命令来处理实现,检查该设备是否在线。   代码很简单,主要浏览就是获取主机名,然后检查该设备是否可用,如...
android ipCamera(局域网内视频直播)
ipCamera(局域网内视频直播),可以实现同意局域网内视频进行直播,可以实现监听摄像头内的视频信息,无卡顿,流畅。
android局域网内通过socket通信
1:两个手机需要在同一个局域网里面 2:修改客户端Client里面的IP地址,IP地址设置为作为服务端的手机的IP地址 3:最下面为服务端,要安装到一个手机里并先运行起来,会显示本机IP地址,显示Client传来的信息,并给Client反馈 4:Client为客户端,有一个输入框和发送按钮,显示传过去的信息client端/** * create by caoyinfei */ publi
局域网内android消息推送方案
有时候我们需要在局域网内对android终端进行消息推送,这个时候就无法利用个推等第三方联网的推送机制。这个时候可以考虑Netty长连接服务。原理图如下: ...
关于局域网内,超简单实现电脑与Android设备的文件传输。
最近遇到一个问题,就是KD的公司强制给开发人员笔记本安装了某些软件,导致无法向外复制文件,于是想起度娘,粗略搜了下传输方法,找到以下两种方式: 传输设备安装Roamit软件(感觉这种太麻烦,具体方法略) ; 通过ftp方式 2.1 操作步骤: (1)首先Android设备端安装ES文件浏览器,打开并找到网络-》从PC访问 (2)点击打开按钮后,出出现如下图中情况 (3)电脑端,随意打开一个文件...
如何获得某局域网内的网内ip?
现在得到的ip只能是外网的,能不能获取它的内容地址呢?
如何获取局域网内设备IP地址和MAC地址
获取局域网内设备IP地址和MAC地址
如何判断两台设备是否在同一局域网内
1. IP&MASK 查看两台设备的ip4地址和子网掩码。 若子网掩码不一样,则不在同一局域网内。 若一样,分别计算IP&MASK,若二者相同,则在同一局域网内,否则不在同一局域网。 192.168.0.101 & 255.255.255.0 = 192.168.0.0 192.168.0.105 & 255.255.255.0 = 192.168.0.0 二者...
Wampserver无法被局域网内的其他设备访问如何解决
      由于毕设是使用PHP做的一个论坛交流网站,所以采用集成了PHP、MySQL、Apache的Wampserver作为服务器,在测试阶段,一般的大佬是购买阿里云等云服务器,并在上面搭建自己的网站,购买域名然后在外网访问,自身由于技术水平有限,打算先从局域网开始测试,发现无法访问,一开始怀疑是否是和端口号有关还将端口修改为8081然而还是访问失败(曾经在一家企业有过短暂实习经历,该企业需要将...
如何连接局域网内的 MySQL
准备连接虚拟机里 Linux中的 MySQL,却一直报错:2003——can’t connect to mysql server on localhost(10061)谷歌一番,发现要做以下工作:1.首先使用 ping 命令来确保要确保本机和虚拟机中的 Linux是连通的,如果不通,可能是 Linux的 ip地址没有正确配置。2.更改 MySQL配置。在我的 Linux系统,MySQL配置文件为 /
局域网内如何封掉qq????????
一个局域网中用wingate做代理,有些人不让上网,但他们却可以上qq,我想过好多办法还是禁不掉,我该怎么办????各位请帮帮忙!!请给说一说具体的措施!
如何遍历局域网内的计算机?
private void ShowComputers() rn rn //or use "WinNT://your_domain_name" rn DirectoryEntry root = new DirectoryEntry("WinNT:"); DirectoryEntries domains = root.Children; rn domains.SchemaFilter.Add("domain"); rn foreach (DirectoryEntry domain in domains) rn rn if(domain.Name.ToString()=="ADMIN") rn rn DirectoryEntries computers = domain.Children; rn computers.SchemaFilter.Add("computer"); rn foreach (DirectoryEntry computer in computers) rn rn tryrn rn IPHostEntry iphe = Dns.GetHostByName(computer.Name); rn rn foreach (IPAddress ip in iphe.AddressList) rn rn this.hostlist.Items.Add(computer.Name); rn rn DirectoryEntries users = computer.Children; rn rn catch(Exception)rn rn rn rn rn用上面这种方法是可以,但是IPHostEntry iphe = Dns.GetHostByName(computer.Name); 这步速度是非常慢的,请问有没有比较快的方法!?
如何实现局域网内的语音聊天?
小弟上次提问,问“在如何实现在局域网内语音聊天”,有人告诉我用Exchange 加rnNetmeeting,于是我兴冲冲的跑去买回一张“Microsoft Exchange 2000 Enterprise Server”的安装盘,结果,在win98上装不了,就在另一台win 2000 上安装,还是不能安装,看安装盘上的说明,说是“要先安装windows sp1”,于是我又到微软的网站上载回来windows sp2(软件说明说,装了这个后,就不必再装sp1),........,sigh,再次失败,为什么不能安装呢? 小弟实在是不明白。要实现局域网内的语音聊天真的这么困难吗?有没有什么别的办法?
如何获取局域网内的数据库服务器?
如何获取局域网内的数据库服务器及对应的数据库?
如何计算局域网内的广播地址?
-
如何控制局域网内的打印机!!
各位大虾,小弟有礼先!rn感觉不是很难,就是整不出来,恳请帮助!rn问题如下:rn网络192.168.1.1有打印机printer一台,访问该打印机现在必须要先连接到192.168.1.1输入用户名和口令后,才能使用printer!现在想实现类似自动批处理的一个动作,客户端开机就可以直接访问该打印机!谢谢大家!
如何远程连接局域网内数据库服务器。
如何远程连接局域网内数据库服务器。rn比如,我要连接你们公司你的机器上的数据库服务器??? (sybase,当然其它数据库也可以哈)rn你们公司网关是固定IP,你的机器是内部分配的地址。rnrn
局域网内如何连接MYSQL数据库
其实不仅仅是局域网,只要你有数据库所在服务器的公网IP地址都能连上。步骤如下:1.在服务器上开放数据库端口,一般是开放3306端口,具体端口根据设置的不同而不同。2.开放数据库远程连接权限,可以指定给哪个数据库的哪个表开放权限给哪个用户,并且还可以指定特定的IP地址才能远程登陆。语法如下:开放远程连接权限:grant [权限] on [database.table] to [用户名]@[IP]
局域网内如何链接MySQL数据库
开放远程连接权限:grant [权限] on [database.table] to [用户名]@[IP] identified by [密码]; 刷新权限:flush privileges;例如 : grant all privileges on test.* to user@'%' identified by '1234';
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池