问题标签 [nsnetservice]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - NSNetService dictionaryFromTXTRecord 对无效输入的断言失败
输入dictionary(fromTXTRecord:)
来自网络,可能来自应用程序外部,甚至是设备。但是,Apple 的文档说:
... 如果 txtData 不能表示为 NSDictionary 对象,则断言失败。
断言失败会使程序员(我)无法处理错误,这对于处理外部数据的方法来说似乎不合逻辑。
如果我在 Mac 上的终端中运行它:
我在 iPhone 上运行的应用程序崩溃了。
dictionary(fromTXTRecord:)
期望 TXT 记录数据 ( asdf asdf
) 在key=val
格式中。如果像上面一样,一个单词不包含任何内容=
,则该方法将无法解析它并使断言失败。
除了根本不使用该方法并实现我自己的解析之外,我认为没有其他方法可以解决这个问题,这感觉是错误的。
我错过了什么吗?
swift - 带有 Swift 的 Bonjour 服务浏览器不获取服务信息
我要连接的服务是通过 Bonjour 发布的。
我可以使用 Bonjour 浏览器找到所有信息,但是如果我尝试以编程方式收集数据,我得到的唯一值就是服务的名称。
设置 NetService 委托并调用函数 netServiceWillPublish。不执行函数 DidNotPublish 或 DidPublish。
函数 netServiceBrowser 获取所有已发布的 netServices,但所有属性都设置为数据类型的默认值。
ios - Airplay 错误未知 VADPortStatus:-16612
我创建了两个 bonjour 服务:(_airplay._tcp.local
端口 7000)和_raop._tcp.local
(端口 41952)。当我发布这些服务时,它们会按预期显示在 iOS 的控制中心中。但是,当我尝试连接到它们时,airplay 服务失败并出现以下错误:
日志中的所有内容:
raop 服务能够连接,并且我的应用似乎正在接收来自 iOS 的流。
以下是配置服务的代码:
我在这个错误上找不到任何东西。这是什么意思?我的 txt 记录中是否有需要更改的特定内容?
ios - 从 Bonjour 网络解析主机名
我有一个使用 JmDNS 的基于 Java 的服务器,它是从 iOS 应用程序中发现的。
发现工作正常,这是由 NetServiceDelegate 执行以记录详细信息的回调:
这会产生一个如下所示的 URL: http ://az-mbp-ether-lan.local.:9090
现在我发誓这是可行的,但是现在当我尝试使用 Alamofire 将数据发送到此端点时,它始终会超时。
用目标机器的硬编码 IP 地址替换主机名使其再次工作,因此发送数据的代码没有根本问题。
上述形式的地址是否应以“.local”结尾。可以从与目标服务器位于同一网络上的 iOS 设备解析吗?
ios - 我可以将 TDAudioStreamer 与 GCDAsyncSocket 或 NetService 一起使用吗?
我想在多个设备之间流式传输音频文件,一个充当服务器,另一个充当本地网络上的客户端,我发现https://github.com/tonyd256/TDAudioStreamer这个类将音频流式传输到连接的客户端,但它使用乘数连接. 我想知道,如果有什么办法,我可以将这个类与GCDAsyncSocket或NetService一起使用吗?
ios - NSURLSession 下载速度
对于我的 tvOS 应用程序,我需要在应用程序启动时下载一个大约 500 Mb 的文件。将NSURLSession
大文件直接下载到磁盘是一项简单的任务。
根据网络分析器,我能够非常快地下载文件。图表显示我在过去 24 秒内的平均速度约为每秒 6Mb。
到目前为止,一切都很好。我的应用程序的另一部分需要通过自定义 NetService 进行通信。所以我正在准备和发布服务:
发布发生在应用程序生命的第 30 秒。在服务后,didPublishMethod
我观察到网络分析器的 2 个变化。ipv4 和 ipv6 状态为“正在侦听”的前 2 个新的活动 TCP 连接。第二个是第一个活动连接的下载速度令人惊讶地急剧下降。
如您所见,在第 30 秒后下载速度降至几 Kb/s。问题是这里发生了什么?NSNetService
干扰吗NSURLSession
?为什么本地服务的发布会影响单独的 TCP 连接?如果在连接之间共享资源,为什么会NSURLSession
收到这么小的份额?
ios - Swift 3 - 探索 bonjour 后得到一个空的 NetService.addresses 数组
我是 Swift 3 的新手。
我想获取我用 bonjour 探索的 NetServices 的 ip,以将它们展示给用户,而不是与设备连接。到目前为止,我可以使用 bonjour 搜索设备,并使用以下出色的访问代码将它们列在 listView 中:
https://github.com/ecnepsnai/BonjourSwift
这是我扫描 bonjour 服务并将它们放入本地 NetServices 数组的函数:
我正在使用这种方法获取 ip 地址,从Swift 3 如何解析 NetService IP?
有了这个 IBAction,我只想打印 ip 地址,但我的 ip 是空的,我bonjourServices[0].addresses
的也是空的,addresses.adress NSData 对象
这是我的控制台输出:
你能帮我解决这个问题吗?
swift - NetService 在调试时获得正确的 Inet 类型,但不能从存档的 IPA 工作
我正在使用网络服务并使用以下函数来获取 IPV4 和 IPV6 地址。在调试或简单 IPA 文件时获取正确的地址。但是存档后我没有得到正确的 INET 类型。
这是一个奇怪的问题。