加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – NSNetService工作正常,但无法获取hostName,解决

发布时间:2020-12-16 09:35:39 所属栏目:百科 来源:网络整理
导读:我正在使用Bonjour和NSNetService从我的iPhone发布服务器.这一切都按预期工作,我可以浏览我正在服务的页面等.但是,在iPhone上我想显示主机名(即URL,如“myDevice.local.”),这样一个人也可以进入在浏览器中手动设置地址(对于缺少bonjour发现服务的客户非常有
我正在使用Bonjour和NSNetService从我的iPhone发布服务器.这一切都按预期工作,我可以浏览我正在服务的页面等.但是,在iPhone上我想显示主机名(即URL,如“myDevice.local.”),这样一个人也可以进入在浏览器中手动设置地址(对于缺少bonjour发现服务的客户非常有用).我的理解是调用方法[myNetService hostName]应该给我那个地址.但是,此调用始终返回nil.我在一些论坛上读到我首先应该解析该服务,但是[myNetService resolve]和[myNetService resolveWithTimeout:10]都调用了委托方法

- (void)netService:(NSNetService *)sender didNotResolve:(NSDictionary *)errorDict;

有错误

{
    NSNetServicesErrorCode = -72003;
    NSNetServicesErrorDomain = 10;
}

这显然意味着它已经解决了.同样,所有这一切都发生在我可以使用该服务的时候.我也可以获得端口,域和服务类型.唯一的另一个奇怪的事情是调用[myNetService addresses]返回一个空数组.

我正在使用SDK 3.1.3.有没有人知道我可能做错了什么?

解决方法

您可以通过[[NSProcessInfo processInfo] hostName]获取主机名,而无需解析刚刚发布的网络服务.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读