iOS 4.1+获取网络连接信息

iOS 4.1+获取当前连接的网络信息:

#import <SystemConfiguration/CaptiveNetwork.h>

- (id)fetchSSIDInfo
{
  NSArray *ifs = (id)CNCopySupportedInterfaces();
  NSLog(@"%s: Supported interfaces: %@", __func__, ifs);
  id info = nil;
  for (NSString *ifnam in ifs) {
    info = (id)CNCopyCurrentNetworkInfo((CFStringRef)ifnam);
    NSLog(@"%s: %@ => %@", __func__, ifnam, info);
    if (info && [info count]) {
      break;
    }
    [info release];
  }
  [ifs release];
  return [info autorelease];
}

Zookeeper工作原理(转)

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookeeper的目的就在于此。本文简单分析zookeeper的工作原理,对于如何使用zookeeper不是本文讨论的重点。

1 Zookeeper的基本概念

1.1 角色

Zookeeper中的角色主要有以下三类,如下表所示: