如何以编程方式从iphone计算响应时间(ping)

时间:2010-12-11 09:47:34

标签: iphone url

我想以编程方式从iphone应用程序检查服务器是否处于活动状态。

如何计算从服务器获取响应的时间?

我听说过ping,要用什么?

2 个答案:

答案 0 :(得分:1)

您可以尝试连接到您的服务器(例如使用Apple的{Reachability http://developer.apple.com/iphone/library/samplecode/Reachability/index.html)并使用NSTimer为响应计时。但这不会像ping命令那样精确

答案 1 :(得分:-2)

如果您想从服务器获得任何响应,请首先检查是否有任何可用的网络连接,如Thomas所述,实现Reachability。

现在,如果您有活动的网络连接,那么您可以请求服务器并捕获响应,如下所述。

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{

        NSHTTPURLResponse *httpResponse;
        httpResponse = (NSHTTPURLResponse *)response;
        int statusCode = [httpResponse statusCode];
        NSString *serverResponse = [NSString stringWithFormat:@"%d", statusCode];
        NSLog ( @ "status code =% d" , statusCode);
        if(statusCode!=200){
            UIAlertView * Alert = [[ UIAlertView alloc ] initWithTitle : @"Problem"
                                                               Message : serverResponse
                                                              delegate : nil 
                                                     cancelButtonTitle : @ " OK "
                                                     otherButtonTitles : nil ];
            [Alert Show ];
            [Alert Release ];

        }
}

您可以参考List of HTTP Status Code