【发布时间】:2015-07-01 11:50:28
【问题描述】:
根据苹果documentation:
如果该服务名称与网络上的现有服务冲突,Bonjour 会选择一个新名称。 ...如果您的服务与网络上现有服务的名称冲突,它会自动重命名
如何实现这个功能?
我的实现:
self.publishService = [[NSNetService alloc] initWithDomain:@"local." type:@"_http._tcp." name:@"MyName" port:80];
self.publishService.delegate = self;
[self.publishService publish];
- (void)netServiceDidPublish:(NSNetService *)sender {
NSLog(@"did publish: %@", sender.name);
}
- (void)netService:(NSNetService *)sender didNotPublish:(NSDictionary *)errorDict {
NSLog(@"did not publish: %@", errorDict);
}
当该服务已经发布时,didNotPublish 委托方法将被调用。我假设该服务不会发布?
我认为应该为具有新名称的服务再次调用 netServiceDidPublish: 委托方法,但事实并非如此。
【问题讨论】:
标签: ios bonjour nsnetservice