我有一个使用 JmDNS 的基于 Java 的服务器,它是从 iOS 应用程序中发现的。
发现工作正常,这是由 NetServiceDelegate 执行以记录详细信息的回调:
public func netServiceDidResolveAddress(_ service: NetService) {
guard let hostName = service.hostName else {
return
}
mockServerUrl = "http://\(hostName):\(service.port)/analytics"
Logger.log("Using mock server at \(mockServerUrl)", forLevel: .info)
}
这会产生一个如下所示的 URL: http ://az-mbp-ether-lan.local.:9090
现在我发誓这是可行的,但是现在当我尝试使用 Alamofire 将数据发送到此端点时,它始终会超时。
用目标机器的硬编码 IP 地址替换主机名使其再次工作,因此发送数据的代码没有根本问题。
上述形式的地址是否应以“.local”结尾。可以从与目标服务器位于同一网络上的 iOS 设备解析吗?