1
iPhone 앱에서 인터넷 연결을 확인하고 싶습니다.iOS : 라우터 IP에 연결할 수 있습니까?
휴대 전화가 wifi를 통해 연결되어 있고 wifi가 엄격한 라우터와 연결된 경우 앱에서 알아야합니다.
예 : 술집에서 음료를 주문하는 앱입니다. 사용자는 바의 네트워크에 연결된 경우에만 무언가를 주문할 수 있습니다.
- (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는 ... 내가 'callAddress'에 라우터 IP를 설정하고 싶은 (내 코드에서이 가상 IP)에 도달 할 수 있습니다 :
나는 시도했다. 또는 라우터의 이름 또는 그와 비슷한 것입니다. 사용자가 3G를 통해 연결되어 있으면 연결할 수 없습니다.
Works! 고맙습니다! 네트워크 이름도 가져올 수 있습니까? 비교는 IP 주소와 네트워크 이름으로 조금 더 안전해질 것입니다. – kerimrohs
"네트워크 이름"은 무엇을 의미합니까? WiFi의 SSID를 의미합니까, 아니면 DNS 이름을 의미합니까? 그리고 "세이퍼"는 무엇을 의미합니까? WiFi 네트워크를 스푸핑하는 사람이 걱정된다면 인증을 위해 IP 주소를 사용하는 것보다 훨씬 강력한 것을 조사해야합니다. –
1) 나는 SSID를 의미한다! 100 % 안전 할 필요는 없습니다. 사용자의 아무도 집에서 액세스 할 수 있도록 홈 네트워크를 변경하지 않습니다 .. SSID는 조금 더 '안전 할 것입니다'. 왜냐하면 ip (i는 처음 6 자리 숫자) 집에서 ip처럼 무작위로 ... 2)하지만 다른 안전한 방법을 알고 있습니까? 안전합니까? – kerimrohs