在HTC Rezound上尝试连接服务器时出现未知主机异常,且仅在4G网络下出现。

4
我有一个非常具体的安卓HTC Rezound问题,希望有人能够提供解决方案。
在连接4G网络的情况下,使用HttpURLConnection尝试连接服务器时,我会收到未知主机异常错误。这个问题的奇怪之处在于,如果手机连接Wi-Fi或3G,则可以完美地连接到服务器。只有4G出现这个问题。我认为这个问题源于服务器的TTL(生存时间),它被设置为0秒。不幸的是,更改TTL不是一个选项,需要一种解决方法。
作为一个测试,我硬编码了主机名的IP地址,并尝试使用它进行连接,这样可以正常工作。现在,硬编码IP地址并不是一个真正的解决方案,因为服务器正在使用DNS级别的轮询负载平衡器。我尝试使用InitAddress从程序中检索IP地址:
InetAddress inet = InetAddress.getByName(url.getHost());
String ipAddress = inet.getHostAddress();

很遗憾,这种解决方法也会返回一个未知主机异常。

我还尝试通过以下方式更改Java的内部DNS缓存:

     System.setProperty("networkaddress.cache.ttl" , "100"); 

但是这个方法也没有起作用。 如果有其他建议或解决方案,将不胜感激! 谢谢。

你的4G服务正常工作吗? - Ashwin N Bhanushali
其他设备通过4G与服务器连接正常吗?我的意思是,我们可以确定排除服务器引起问题的可能性吗? - Damian Petla
1个回答

1

我有一个关于3G的问题,因为手机的ISP默认设置了代理(尽管其他一切都正常,而且使用另一家ISP也可以正常工作)。请尝试在设备上检查连接设置并删除任何已设置的设置。希望能对您有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接