0
我正在使用Apple的SimplePing在iPhone上ping主机。我期望以下委托方法可以工作。Apple的SimplePing无法通过3G工作
(1) - (void)simplePing:(SimplePing *)pinger didSendPacket:(NSData *)packet;
(2) - (void)simplePing:(SimplePing *)pinger didReceivePingResponsePacket:(NSData *)packet;
(3) - (void)simplePing:(SimplePing *)pinger didReceiveUnexpectedPacket:(NSData *)packet;
(4) - (void)simplePing:(SimplePing *)pinger didFailToSendPacket:(NSData *)packet error:(NSError *)error;
的结果是...
- 模拟器:方法(1)&(2或3或4)被调用(正确)
- 设备(使用WiFi) :方法(1)&(2或3或4)被调用(正确)
- 设备(使用3G):只有方法(1)g ets叫。 (不正确的,我希望(2或3或4)也得到calleA)
我尝试了一些(Network Ping Lite,Free Ping,Ping Free)在AppStore上可用的应用程序。他们的结果与我的相似。
我不想知道这是Apple的SimplePing示例代码中的错误,还是我需要做其他一些配置?
下面是我用
- (void)viewDidLoad {
[super viewDidLoad];
self.simplePing = [SimplePing simplePingWithHostName:@"www.google.com"];
[self.simplePing setDelegate:self];
[self.simplePing start];
}
- (void)simplePing:(SimplePing *)pinger didStartWithAddress:(NSData *)address {
[self.simplePing sendPingWithData:nil];
}
是的,有些手机不支持ping通3G网络。 – CarlJ 2012-07-26 07:57:03
有没有一种方法可以验证您的观点?换句话说,我怎样才能确定运营商是否支持Ping。 – Sahil 2012-07-26 08:07:03
简单地说:您无法验证特定运营商是否支持通过移动网络进行ping。 – CarlJ 2012-07-26 08:09:09