IpScanner:Android设备局域网内设备搜索扫描

GitHub 地址:<a href="https://github.com/FeiMo1988/Scanner">Scanner</a>

Bug反馈地址: dingwei.chen1988@gmail.com

现在的Android设备,可以支持局域网内的投射,控制等各种功能。对于局域网内的设备搜索变的尤为重要。本Scanner的目的就是为了解决这个问题。Scanner会帮你解析出你设备的IP地址及掩码,并通过掩码计算来获取所有的子网IP。然后通过调用者或者自带的判断策略来检测是否是需要连接的设备。看下demo的效果吧:

demo效果

1.传入端口###

Scanner在使用的时候需要传入一个检测端口,非墨用于测试的设备开放的端口是3000,因此在demo中传入的端口参数是3000。如果你要的连的是个Android设备的话,可以考虑传入Adb的端口5555

2.设置扩展扫描线程数量###

Scanner可以通过调用setExpendThreadNumber 方法来设置扩展扫描线程数量。调用者可以根据实际网络情况和设备情况来设置这个参数。

mIpScanner = new IpScanner(3000,this)   
.setExpendThreadNumber(5);

3.设置扫描回调接口###

Scanner 在构造的时候必须指定回调接口。

public IpScanner(int port, ScanCallback callback) { 
mPort = port;
if (callback == null) {      
      throw new IllegalArgumentException("Params callback can't be null!");
}   
mScanCallback = callback;
}

4.设置扫描超时时间###

可以通过设置超时时间避免过长时间的超时等待。

public final IpScanner setTimeOut(long time) {  
 this.mTimeOut = time;   
 return this;
}

5.Scanner printLog###

Scanner在执行的过程中将打印一些过程log,这个可以通过调用setScannerLogger方法来指定,传入的参数是一个ScannerLogger接口类型:

public static interface ScannerLogger {   
public void onScanLogPrint(String msg);
}

6.实验效果###

测试之后,网络佳的情况下可以控制在2s以内,而网络差的情况下可以控制在10s以内。
还有其他的功能和作用,等各位去发掘,如果有建议或者bug请发到作者邮箱。thx.

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,282评论 19赞 139
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 6,675评论 0赞 6
  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,934评论 2赞 56
  • nmap使用指南(终极版) 原创2017-09-09hl0rey信安之路 一、目标指定 1.CIDR标志位 192...
    用电热毯烤猪阅读 12,206评论 1赞 49
  • 四月里,就是要说这段话。 你是人间四月天 最近能够听到成长的声音就像竹子一样在不断的拔节,不错,就是这种feel。...
    沐澄_阅读 375评论 0赞 2

友情链接更多精彩内容