GitHub 地址:<a href="https://github.com/FeiMo1988/Scanner">Scanner</a>
Bug反馈地址: dingwei.chen1988@gmail.com
现在的Android设备,可以支持局域网内的投射,控制等各种功能。对于局域网内的设备搜索变的尤为重要。本Scanner的目的就是为了解决这个问题。Scanner会帮你解析出你设备的IP地址及掩码,并通过掩码计算来获取所有的子网IP。然后通过调用者或者自带的判断策略来检测是否是需要连接的设备。看下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.