1
iPhoneアプリでインターネット接続を確認したいと思います。iOS:ルータIP到達可能?
アプリは電話が無線LANを介して接続されている場合は、知っておく必要があり、もし無線LANは、厳格なルータに接続されています。例えば
:バーでドリンクを注文するアプリです。ユーザーは、バーのネットワークに接続している場合にのみ、何かを注文することができます。
私が試した:私は 'callAddress' にルータのIPを入れたい ...
- (IBAction)buttonCHECKNETWORK:(id)sender{
struct sockaddr_in callAddress;
callAddress.sin_len = sizeof(callAddress);
callAddress.sin_family = AF_INET;
callAddress.sin_port = htons(24);
callAddress.sin_addr.s_addr = inet_addr("152.465.456.975");
Reachability *hostReach = [Reachability reachabilityWithAddress:&callAddress];
NetworkStatus netStatus = [hostReach currentReachabilityStatus];
if (netStatus == NotReachable)
{
NSLog(@"IP NotReachable");
}
if (netStatus == ReachableViaWiFi)
{
NSLog(@"IP ReachableViaWiFi");
}
if (netStatus == ReachableViaWWAN)
{
NSLog(@"IP ReachableViaWWAN");
} }
をしかし、すべてのIPは(私のコードでも、この架空のIP)到達可能です。ルータの名前やそのようなもの。ユーザーが3G経由で接続されていると到達できません。
Works!ありがとうございました! ネットワーク名も取得できますか? 比較はIPアドレスとネットワーク名で少し安全になります。 – kerimrohs
「ネットワーク名」とはどういう意味ですか?あなたはWiFiのSSIDを意味しますか、それともDNS名を意味しますか?そして、「Safer」はどういう意味ですか?あなたのWiFiネットワークを偽装する人が心配している場合は、認証にIPアドレスを使用するよりも堅牢なものを検討する必要があります。 –
1)私はSSIDを意味する!私は最初の6つの数字を取った(IPので 、「安全な」それは ..ユーザーの誰もが自宅からのアクセスを取得するために彼の家ネットワークを変更しません、100%安全である必要はありませんが、SSIDは少しだろう)家庭のIPのように同じである可能性があります... 2)しかし、他の(簡単な)方法を知っていますか?これは安全ですか? – kerimrohs