【发布时间】:2012-09-24 06:16:02
【问题描述】:
我想知道某个 IP 地址是否在本地网络中,使用我的 Objective-c(Xcode) 程序。但是,问题是对于每个 IP 地址(即使它不在网络中),结果都是成功的。这是代码,请帮助我如何查找 IP 地址是否正确位于本地网络中。
bool success = false;
const char *host_name = [@"192.168.0.115" cStringUsingEncoding:NSASCIIStringEncoding];
SCNetworkReachabilityRef reachability = SCNetworkReachabilityCreateWithName(NULL,
host_name);
SCNetworkReachabilityFlags flags;
success = SCNetworkReachabilityGetFlags(reachability, &flags);
bool isAvailable = success && (flags & kSCNetworkFlagsReachable) &&
!(flags & kSCNetworkFlagsConnectionRequired);
if (isAvailable)
{
//success
//connect to IP address
}
else
{
//Not success
}
【问题讨论】:
-
这不是真正的 ping。 ping 意味着向目标 IP 发送 ICMP 数据包并从中获取回复
-
但是,我只能用Xcode编写代码。如果您知道答案,请任何人回复
-
@sushma 你找到解决方案了吗?
标签: ios ip-address ping