iPhone Network 编程
来源:互联网 发布:百电通 软件下载 编辑:程序博客网 时间:2024/05/21 09:13
1. IPhone目前提供可以检查配置状态,比如
网络连接状态
Wi-Fi可使用状态
cell service可使用状态
但是没有API可用于检测 "蓝牙连接" 状态 或者检测用户是否在漫游(roaming)状态
2. 检测IP是否可以reachable
SCNetworkReachabilityCreateWithAddress
-(BOO) connectedToNetwork
{
//Create zero addy
struct sockaddr_in zeroAddress;
bzero(&zeroAddress, sizeof(zeroAddress));
zeroAddress.sin_len = sizeof(zeroAddress);
zeroAddress.sin_family = AF_INET;
SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress);
SCNetworkReachabilityFlags flags;
BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags);
CFRelease(defaultRouteReachability);
if (!didRetrieveFlags)
{
printf("Could not recover network flags\n");
return NO;
}
BOOL isReachable = flags & kSCNetworkFlagsReachable;
BOOL needsConnection = flags & kSCNetworkFlagsConnectionRequired;
return (isReachable && needsConnection);
}
///UIDevice for Reachability
@implementation UIDevice (Reachability)
SCNetworkConnectionFlags connectionFlags;
+(NSString *)localWiFiIPAddress
{
BOOL success;
struct ifaddrs *addrs;
const struct ifaddrs *cursor;
success = getifaddrs(&addrs) == 0;
if (success)
{
cursor = addrs;
while(cursor != NULL) {
if (cursor->ifa_addr->sa_family == AF_INET && (cursor->ifa_flags & IFF_LOOPBACK) == 0)
{
NSString *name = [NSString stringWithUTF8String:cursor->ifa_name];
if ([name isEqualToString:@"en0"])
return [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *) cursor->ifa_addr)->sin_addr)];
}
cursor = cursor->ifa_next;
}
freeifaddrs(addrs);
}
return nil;
}
P580 cookbook
应用如何获取网路改变
P583
- iPhone Network 编程
- iPhone Network Programming
- android network网络编程
- Java - 网络编程(NetWork)
- Network编程基础
- tensorflow编程: Neural Network
- Sniff Your iPhone's Network Traffic
- iPhone 多线程编程
- iphone网络编程
- iphone编程 EXE_BAD异常
- iphone 网络编程
- iPhone编程- 启动画面
- iPhone发邮件编程
- iphone网络编程总结
- iphone网络编程总结
- iphone 网络编程
- iphone 网络编程总结
- iphone编程 EXE_BAD异常
- Android画图学习总结
- javascript学习(一)——基本语法
- 2012曲靖市事业单位考试
- Fedora15 sjtu源
- 狗尾续貂:利用引用计数在多线程中安全释放资源
- iPhone Network 编程
- mina2实例
- C#博文收集
- Adapter 模式 - Class Adapter
- Asterisk Registry(registe an account to local asterisk server)
- C/C++ New与Delete
- 关于maven的不错的文章
- 编写大容量和健壮的服务器系列—处理IOCP资源释放
- wpf Image动态加载图片终极解决办法