|
|
@@ -11,7 +11,11 @@
|
|
|
@interface webRtcPingManager ()<WHPingDelegate>
|
|
|
{
|
|
|
WHPingTester *whPingTester;
|
|
|
- NSInteger pingIndex;//开始ping的第x个IP
|
|
|
+ NSInteger pingRoomIndex;//开始ping的第x个机房IP
|
|
|
+
|
|
|
+ CGFloat allTimeInPingOneIP;//一个IP ping多少次的总延时
|
|
|
+ NSInteger pingOneIPNumber;//一个IPping多少次
|
|
|
+ NSInteger pingOneIPErrorNumber;//一个IP 错了多少次
|
|
|
}
|
|
|
@end
|
|
|
|
|
|
@@ -29,7 +33,7 @@
|
|
|
- (instancetype)init {
|
|
|
|
|
|
if (self = [super init]) {
|
|
|
- pingIndex = 0;
|
|
|
+ pingRoomIndex = 0;
|
|
|
//[self registeNotification];
|
|
|
}
|
|
|
return self;
|
|
|
@@ -39,12 +43,24 @@
|
|
|
#pragma mark ---ping-----站点 判断是否是局域网
|
|
|
- (void)startPingFun
|
|
|
{
|
|
|
- NSArray<webRtcMsgTurnModel>* turnList = ksharedAppDelegate.DeviceWebRtcMsgMod.data.turnList;
|
|
|
- if (!turnList || turnList.count < pingIndex) {
|
|
|
- <#statements#>
|
|
|
- }
|
|
|
+ allTimeInPingOneIP = 0;
|
|
|
+ pingOneIPNumber = 0;
|
|
|
+ pingOneIPErrorNumber = 0;
|
|
|
|
|
|
+ NSString* roomInternetIp = @"";
|
|
|
+ NSArray<webrtcServerModel>* webrtcServerList = ksharedAppDelegate.DeviceWebRtcMsgMod.data.webrtcServerList;
|
|
|
+ if (!webrtcServerList || webrtcServerList.count > pingRoomIndex) {
|
|
|
+ webrtcServerModel *model = webrtcServerList[pingRoomIndex];
|
|
|
+ roomInternetIp = model.turnIp;
|
|
|
+ }
|
|
|
+ else{//完成遍历了
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
+ //IP 出错
|
|
|
+ if(!roomInternetIp || roomInternetIp.length ==0){
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
if (self->whPingTester)
|
|
|
{
|
|
|
@@ -76,27 +92,38 @@
|
|
|
//if(error.code == 111 || time > 1000) //超时或者延时超过100ms,就要记录数据
|
|
|
if(error != nil)
|
|
|
{
|
|
|
- [self didGetPingStateIsOK:NO];
|
|
|
+ pingOneIPErrorNumber += 1;
|
|
|
}
|
|
|
else if(time > 0){
|
|
|
- [self didGetPingStateIsOK:YES];
|
|
|
+ allTimeInPingOneIP += time;
|
|
|
+ pingOneIPNumber +=1 ;
|
|
|
+ //[self didGetPingStateIsOK:YES];
|
|
|
//test code
|
|
|
//[self didGetPingStateIsOK:NO];
|
|
|
}
|
|
|
|
|
|
+ if(pingOneIPErrorNumber == 3){
|
|
|
+ [self didGetPingStateIsOK:NO];
|
|
|
+ }
|
|
|
+ else if (pingOneIPNumber == 10){
|
|
|
+ [self didGetPingStateIsOK:YES];
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
- (void)didPingfialewithError:(NSError*)error
|
|
|
{
|
|
|
HLog(@" error error: %@",error)
|
|
|
+ pingOneIPErrorNumber += 1;
|
|
|
+
|
|
|
[self didGetPingStateIsOK:NO];
|
|
|
}
|
|
|
|
|
|
-(void)didGetPingStateIsOK:(BOOL)isOk
|
|
|
{
|
|
|
- self.isPingOk = isOk;
|
|
|
- [self->whPingTester stopPing];
|
|
|
- self->whPingTester = nil;
|
|
|
+// self.isPingOk = isOk;
|
|
|
+// [self->whPingTester stopPing];
|
|
|
+// self->whPingTester = nil;
|
|
|
}
|
|
|
|
|
|
@end
|