Appleが提供したRechabilityクラスを入力した後。また、これを入力した後、到達可能性reachabilityWithAddress:(const struct sockaddr_in *)hostAddress。この行にチェックインするIPアドレスをどのように入力する必要がありますか?これは私が本当に迷っている部分です。
質問する
2641 次
2 に答える
2
struct sockaddr_in
BSD ソケットで使用される低レベルの「ソケット アドレス」タイプです。通常、Cocoa レベルでそれらを処理することはありませんが、Apple のデモ クラスを含め、時々忍び寄る可能性があります。その理由は、その作成関数の 1 つでSCNetworkReachability
a を使用するためです。struct sockaddr_in
ただし、幸運なことに、+reachabilityWithHostName:
メソッドで代わりに文字列を指定できます。これには IP アドレスが含まれます (ホスト名と同様に、基盤となるネットワーク API によって自動的に解決されます)。
Reachability *r = [Reachability reachabilityWithHostName:@"1.2.3.4"];
于 2012-08-29T12:57:35.643 に答える
0
次のことを試してください。
if ([[Reachability reachabilityForInternetConnection] currentReachabilityStatus] == NotReachable) {
// do somehting meaningful!
}
またはより具体的に:
Reachability* reachability = [Reachability sharedReachability];
[reachability setHostName:@"www.google.com"]; // set your host name/ip here
NetworkStatus remoteHostStatus = [reachability remoteHostStatus];
if (remoteHostStatus == NotReachable) { NSLog(@"no"); }
else if (remoteHostStatus == ReachableViaWiFiNetwork) { NSLog(@"wifi"); }
else if (remoteHostStatus == ReachableViaCarrierDataNetwork) { NSLog(@"cellular"); }
于 2012-08-29T12:53:14.757 に答える