我有一个大多数完整的Android应用程序,在联系我的服务器时表现出一些奇怪的行为。首先要知道的是环境。网络上有几个设备提供常量udp媒体流。它们似乎没有以任何方式使网络过载。手机连接到wifi网络并进行一些数据监控并将信息报告回两个不同的服务器,这两个服务器都在我的控制之下。这两个服务器位于完全不同的域上。路由器是一个全新的linksys无线N路由器,带有库存固件。
所以问题是,在android对媒体流进行必要的评估(需要连接到网络,但不是连接到互联网)之后,它最近开始遇到与服务器联系的严重问题。它通常连接到一个但抛出'java.net.UnknownHostException:主机未解析'为另一个。这将持续一段随机时间(通常为几分钟,并通过多次重启应用程序)。在这个重复错误的一段时间之后)它将开始为两个服务器工作,或者翻转哪些服务器,或者做其他几个随机的事情。为了让它更加混乱,同一房间里的几部电话做同样的操作通常都会看到服务器的不同组合(全部,一个或另一个,或者没有),没有明显的押韵或理由。
直到最近这还不成问题,但通过查看代码显示实际联系服务器的部分在形式上没有变化,所以理论上这意味着它仍然可以正常工作。我唯一的线索是,具有类似设置的另一个网络,更少的媒体流设备和更简单,使用较少的互联网连接,问题较少。这个事实让我开始认为将DDWRT放在路由器上可能会使其表现得更好,如果udp流量将它抛出一个循环。这些奇怪的错误的另一个想法是,以某种方式改变到wifi网络弄乱了DNS表,他们没有刷新或类似的东西。虽然这不是真的有意义,因为我正在测试几个具有不同Os版本的设备,而且事情在不久前还运行良好。
无论如何,我真的不希望有人知道答案,因为这是一个随机的问题,但我认为发布它并不会有什么坏处,至少有机会写下我的想法更好的评论。但是,如果有人有任何想法如何处理这些随机网络错误或可以建议其他地方寻找问题,我将非常感谢。
提前谢谢, Jessy Diamond Exum