我有一个几乎完整的 android 应用程序,在联系我的服务器时表现出一些奇怪的行为。首先要知道的是环境。网络上有几个设备提供恒定的 udp 媒体流。他们似乎没有以任何方式使网络超载。手机连接到 wifi 网络并进行一些数据监控并将信息报告回两个不同的服务器,这两个服务器都在我的控制之下。两台服务器位于完全不同的域上。该路由器是带有库存固件的全新 Linksys 无线 N 路由器。
所以问题是,在 android 对媒体流进行必要的评估之后(这需要连接到网络,尽管不需要连接到互联网),它最近开始在联系服务器时遇到严重问题。它通常连接到一个,但会为另一个抛出“java.net.UnknownHostException: Host is unresolved”。这会持续一段随机的时间(通常是几分钟并通过几次应用程序重新启动)。在这种重复错误的一段时间后)它将开始为两台服务器工作,或者翻转哪些服务器正在工作,或者做一些其他随机的事情。更令人困惑的是,在同一个房间里执行相同操作的几部手机通常都会看到不同的服务器组合(全部、一个或另一个,或没有),没有明显的韵律或原因。
直到最近这还不是问题,但是通过代码审查表明实际联系服务器的部分在形式上没有改变,所以理论上这意味着它应该仍然可以正常工作。我唯一的线索是另一个具有类似设置的网络,只是更少的媒体流设备和更简单、更少使用的互联网连接,问题更少。这个事实让我开始认为,如果 udp 流量将其抛出循环,将 DDWRT 放在路由器上可能会使其表现更好。这些奇怪错误的另一个想法是,以某种方式更改为 wifi 网络会弄乱 DNS 表,并且它们没有刷新或类似的愚蠢。虽然这并没有什么意义,因为我正在使用不同操作系统版本的几台设备上进行测试,而且不久前一切都运行良好。
无论如何,我真的不希望有人知道这个问题的答案,因为这是一个随机的问题,但我认为发布它不会有什么坏处,至少有机会写下我的想法以便更好地审查。但是,如果有人对如何处理这些随机网络错误有任何想法,或者可以建议其他地方寻找问题,我将非常感激。
提前感谢,杰西钻石埃克萨姆