Hi,
I wanted to try using the new NWBrowser available in iOS 13 to replace my old Bonjour browsing code, problem is I'm unabe to get the IP and Port of the service I'm looking for.
My code :
let params = NWParameters()
params.includePeerToPeer = true
_bonjourBrowser = NWBrowser(for: .bonjour(type: "_mpd._tcp.", domain: nil), using: params)
_bonjourBrowser.browseResultsChangedHandler = { results, changes in
for change in changes {
switch change {
case .added(let browseResult):
switch browseResult.endpoint {
case .hostPort(let host, let port):
print("added hostPort \(host) \(port)")
case .service(let name, let type, let domain, let interface):
print("added service \(name) \(type) \(domain) \(String(describing: interface))")
default:
print("fail")
}
case .removed(let browseResult):
print("removed \(browseResult.endpoint)")
case .changed(_, let browseResult, let flags):
if flags.contains(.interfaceAdded) {
print("\(browseResult.endpoint) added interfaces")
}
if flags.contains(.interfaceRemoved) {
print("\(browseResult.endpoint) removed interfaces")
}
default:
print("no change")
}
}
}
_bonjourBrowser.start(queue: DispatchQueue.global())
What I get is :
added service MPD.PI _mpd._tcp local. nil
added service MPD.MBP _mpd._tcp local. nil
How can I get an IP and Port out of this ?