目前我正在使用NetServiceBrowser查找 Bonjour 服务并解析相应的地址和端口。
为了NWBrowser简化我的代码,我偶然发现它似乎提供了一个非常简单的界面来处理 Bonjour 发现。
但是,browseResultsChangedHandler返回包含 enum case 端点的结果和更改service。我试图从结果中获取地址和端口信息,但似乎NWEndpoint必须是枚举类型 .hostPort。
理想情况下,我会使用端点连接到服务器NWConnection,但是,我使用的是另一个不NWEndpoint直接处理 的库。
是否有(简单的)方法可以从NWEndpoint.service结果中获取地址和端口信息?
import Foundation
import Network
let browser = NWBrowser(for: .bonjour(type: "_http._tcp", domain: ""), using: NWParameters())
browser.browseResultsChangedHandler = { (results, changes) in
print("Results:")
for result in results
{
if case .service(let service) = result.endpoint
{
debugPrint(service)
}
else
{
assert(false, "This nevers gets executed")
}
}
print("Changes:")
for change in changes
{ …Run Code Online (Sandbox Code Playgroud)