我有一个使用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)
}
这会产生如下所示的网址: pivot operation
现在我发誓这是有效的,但是现在当我尝试使用Alamofire将数据发送到此端点时,它会一直超时。
使用目标机器的硬编码IP地址替换主机名使其再次起作用,因此发送数据的代码没有根本问题。
上述表单的地址是否应以" .local结尾。"可以从与目标服务器相同的网络上的iOS设备解析吗?
答案 0 :(得分:0)
问题出在Java服务器端。它是通过调用InetAddress.getLocalHost()进行注册的。这是返回环回地址。
我根据这个问题修改了我的代码以找到非环回地址: IP Address not obtained in java