LDNetDiagnoService_IOS是一个开源的第三方网络诊断框架,它通过ping与traceroute原理来对指定域名进行网络诊断。并且这个库一直在跟进维护,进行IPV_6-Only的支持。
LDNetDiagnoService_IOS的git地址如下:https://github.com/Lede-Inc/LDNetDiagnoService_IOS。
LDNetDiagnoService的使用十分简单,只需要3步即可完成。
首先需要对服务引擎进行初始化,代码如下:
//进行服务引擎的初始化 其中AppCode,AppName,UserID与dormain参数必须填写,其他参数会自动生成
service = [[LDNetDiagnoService alloc]initWithAppCode:@"app编码"
appName:@"demo"
appVersion:nil
userID:@"UserID"
deviceID:nil
dormain:@"www.baidu.com"
carrierName:nil
ISOCountryCode:nil
MobileCountryCode:nil
MobileNetCode:nil];
//设置代理
service.delegate = self;
初始化完成服务引擎后,需要开启检测,如下:
//开始诊断网络
- (void)startNetDiagnosis;
//停止诊断网络
- (void)stopNetDialogsis;
开始诊断网络后,会通过代理方法将诊断信息回调给开发者,代码如下:
/**
- 告诉调用者诊断开始
*/
- (void)netDiagnosisDidStarted{
NSLog(@"开始进行诊断~~");
}
/**
- 逐步返回监控信息,
- 如果需要实时显示诊断数据,实现此接口方法
*/
- (void)netDiagnosisStepInfo:(NSString *)stepInfo{
NSLog(@"正在诊断:%@",stepInfo);
}
/**
- 因为监控过程是一个异步过程,当监控结束后告诉调用者;
- 在监控结束的时候,对监控字符串进行处理
*/
- (void)netDiagnosisDidEnd:(NSString *)allLogInfo{
NSLog(@"诊断结束");
NSLog(@"%@",allLogInfo);
}