AXResolvedAddress 0.1.0

AXResolvedAddress 0.1.0

测试已测试
语言语言 Obj-CObjective C
许可协议 MIT
发布最新发布2014年12月

Hiroki Akiyama (akiroom)akiroom维护。



AXResolvedAddress 是获取 NSNetService#addresses 结果的简单方法。

NSNetService *netService;
[AXResolvedAddress addressesWithNetServiceAddresses:netService.addresses];

使用方法

要运行示例项目,先从仓库中克隆,并在 Example 目录中首先运行 pod install

安装

示例

获取 http 服务的列表。

NSNetServiceBrowser *_netServiceBrowser;
NSNetService *_netService;

// Search http services.
_netServiceBrowser = [[NSNetServiceBrowser alloc] init];
_netServiceBrowser.delegate = self;
[_netServiceBrowser searchForServicesOfType:@"_http._tcp" inDomain:nil];

#pragma mark - Net service browser delegate

- (void)netServiceBrowser:(NSNetServiceBrowser *)aNetServiceBrowser didFindService:(NSNetService *)aNetService moreComing:(BOOL)moreComing
{
  _netService = aNetService;
  _netService.delegate = self;
  [_netService resolveWithTimeout:3.0];
}

- (void)netServiceDidResolveAddress:(NSNetService *)sender
{
  NSArray *addresses = [AXResolvedAddress addressesWithNetServiceAddresses:sender.addresses];
  for (AXResolvedAddress *address in addresses) {
    NSLog(@"---: %@", sender.name);
    NSLog(@"%@", address.host);
    NSLog(@"%d", address.port);
    switch (address.type) {
      case AXResolvedAddressIPv4:
        NSLog(@"IP v4");
        break;
      case AXResolvedAddressIPv6:
        NSLog(@"IP v6");
        break;
      default:
        NSLog(@"Unknown");
        break;
    }
  }
}

您可以得到这样的输出

---: Foo bar WebAdmin (akiroom-MacBook-Air.local)
192.168.1.100
3000
IP v4
---: Foo bar WebAdmin (akiroom-MacBook-Air.local)
fe80::be8d:10ff:fe1d:2e30
3000
IP v6
---: Foo bar WebAdmin (akiroom-MacBook-Air.local)
240b:11:2510:1b01:ba8b:12fe:fe1a:6a60
3000
IP v6

作者

Hiroki Akiyama,[email protected]

许可协议

AXResolvedAddress 在 MIT 许可协议下可用。请参阅 LICENSE 文件以获取更多信息。