LDNetDiagnoService_Android 利用ping、tcp connect和traceroute的原理,对指定域名(通常为后台API的提供域名)进行网络诊断,并收集诊断日志。功能通过Service的方式提供给各个产品项目,由各个项目组决定如何使用。 Android的实现方案一: 是通过后台线程执行ping命令的方式模拟traceroute的过程,缺点就是模拟过程较慢,timeout的出现比较频繁 Android的实现方案二: 通过编译开源网络检测库 iputils C代码的方式对traceroute进行了套接字发送ICMP报文模拟,可以明显提高检测速度;(关于iputils工具原理实现,请参考 博文 ) LDNetDiagnoService最终效果 调用网络诊断服务,监控日志输出; 诊断结束之后,返回日志文本; 调用者可以选择保存、邮件上传、接口上传等方式上传监控日志; 如下图所示: 如何集成LDNetDiagnoService_Android 通过库依赖的方式 拷贝 LDNetDiagnoService_Android 文件夹到你的代码空间; 在你的主工程中Add LDNetDiagnoService_Android 库工程; 如何使用LDNetDiagnoService_IOS 当service代码集成到工程之后,即可通过如下方式调用网络诊断服务: Android的service作为一个后台任务,每次开始诊断需要重新初始化一个任务;通过在监控界面设置LDNetDiagnoListener接口的方法监控日志输出; tip:初始化参数只需要初始化appcode,userID, dormain(必须), 其他参数选填; public void onClick(View v) {
if (v == btn) {
if (!isRunning) {
showInfo = "";
String domainName = edit.getText().toString().trim();
_netDiagnoService = new LDNetDiagnoService(getApplicationContext(),
"testDemo", "网络诊断应用", "1.0.0", "huipang@corp.netease.com",
"deviceID(option)", domainName, "carriname", "ISOCountyCode",
"MobilCountryCode", "MobileNetCode", this);
//设置是否使用JNIC 完成traceroute
_netDiagnoService.setIfUseJNICTrace(true);
//_netDiagnoService.setIfUseJNICConn(true);
_netDiagnoService.execute();
...
} else {
...
_netDiagnoService.cancel(true);
_netDiagnoService = null;
...
}
isRunning = !isRunning;
}
} 重载LDNetDiagnoListener方法,监控网络诊断日志; 监控网络诊断过程中的日志输出 @Override
public void OnNetDiagnoUpdated(String log) {
showInfo += log;
text.setText(showInfo);
} 诊断结束,输出全部日志记录 @Override
public void OnNetDiagnoFinished(String log) {
progress.setVisibility(View.GONE);
btn.setText("开始诊断");
_netDiagnoService = null;
isRunning = false;
} 关于service选择traceroute 方式的说明:默认是支持JNICTrace,如果需要通过ping命令行方式执行,可以通过_netDiagnoService.setIfUseJNICTrace(false)设置; ...
_netDiagnoService = new LDNetDiagnoService();
//设置是否使用JNIC 完成traceroute
this._netDiagnoService.setIfUseJNICTrace(false);
... 技术支持 to be continued .... 庞辉, 电商技术中心,popo: huipang@corp.netease.com
基于Android平台利用ping和traceroute的原理,,毕业论文,课程设计,答辩ppt,开题报告,外文翻译,研究生,硕士,本科生,代写计算机,定制修改
3997
来源:
Licence:
联系:
分类:
平台:
环境:
大小:
更新:
标签:
免费下载
×
温馨提示
请用电脑打开本网页,即可以免费获取你想要的了。