测试已测试 | ✗ |
语言语言 | 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 文件以获取更多信息。