-1

重複の可能性:
iPhone SDK の reachabilityWithAddress の問題

次のコードを使用して、iPhone が特定の IP アドレス (単純な ping) に接続できるかどうかを判断しようとしています。

struct sockaddr_in server_address;   
server_address.sin_len = sizeof(server_address);
server_address.sin_family = AF_INET;
server_address.sin_port = htons(8888);
server_address.sin_addr.s_addr = inet_addr("192.168.105.44"); // ip address of a server on LAN
Reachability *r = [[Reachability reachabilityWithAddress:&server_address ] retain];
NetworkStatus internetStatus = [r currentReachabilityStatus];

しかし、IPアドレスに何を指定しても、ステータスは常に「到達可能」であると表示されます。私は何か間違ったことをしていますか?なぜこれがうまくいかないのですか?前もって感謝します。

4

1 に答える 1

1

同じ動作

 + (Reachability*) reachabilityWithHostName: (NSString*) hostName;

到達可能性は常に TRUE を返します。HTTP リターン コードが 200 か 404 かは関係ありません。Prince が投稿したリンクが示唆する解決策を使用できない場合は、

  1. インターネットの到達可能性を確認する
  2. タイマー ベースの HTTPRequest を起動し、リターン コードを確認する

またはNetReachabilityを確認してください。

同じフレームワークを使用しており、自分でテストする時間がなかったため、役立つかどうかはわかりません。

于 2012-08-08T16:50:02.467 に答える