アップルの到達可能性サンプルと「iPhone開発者の料理本」の別のサンプルを見てきました
IP/ポートの到達可能性をテストする手順は次のとおりです
- 指定されたIP/ポートを使用してsockaddr_in変数を作成します。
- アドレスを使用してSCNetworkReachabilityCreateWithAddressを呼び出します
- SCNetworkReachabilityGetFlagsを呼び出して、kSCNetworkFlagsReachableが設定されているかどうかを確認します。
テストに使用した有効な(有効範囲の)IP /ポートが何であれ、pingまたはtelnetテストでは実際には到達できない場合でも、コードは到達可能であると言っています。
(特定のIPへの到達可能性テストが常に成功する他のSO投稿を見たことがあります)
到達可能性reachabilityWithAddressが機能しません
SCNetworkReachability ..呼び出しは、引数(IPアドレスまたはホスト名)の有効性のみをチェックしますか?つまり、到達可能性をテストするために、実際に指定されたアドレスにパケットを送信しますか(または接続しますか)?
自分でタイムアウト付きの非同期接続を実装することはできますが、タイムアウトがアップルのレビュー担当者によって拒否されないようにする時間は微妙です(時間がかかりすぎると、アップルのレビュー担当者は私のアプリがネットワークの到達可能性を処理していないと思うかもしれませんすべて)
ありがとうございました