【发布时间】:2015-07-06 09:55:14
【问题描述】:
我们有一款安卓游戏,统一制作并在单声道上运行(或任何污染版本的单声道统一用于 android 运行时)。它偶尔会从我们的 s3 存储桶下载文件。 http 地址看起来像https://s3.amazonaws.com/XXX/YYY.json,并且对于所有用户始终是相同的。
我们还通过 raygun 进行异常报告,并且可以看到有一小部分用户似乎无法完成下载。异常有两种类型:未知主机和 ssl 异常。这是两个有代表性的错误:
-
java.net.UnknownHostException: Unable to resolve host "s3.amazonaws.com": No address associated with hostname(Android 4.4.2) -
javax.net.ssl.SSLHandshakeException: Handshake failed(Android 5.0.2)
代码是一行,使用unity内置的WWW类,使用Unity 4.6.5p2编译。游戏还会定期对 google.com 进行 ping - 对于至少一个未知主机错误,这些 ping 是成功的,因此玩家并不完全离线。
编辑:另一件事;为了绕过我有时看到的不受欢迎的缓存,我将 ?rnd=XXX 附加到 http 地址,其中 XXX 是一个随机数。
有谁知道为什么会出现这些错误?它与用户的设备、他们的网络、统一还是我的代码有关? SSL 问题是否与未知主机问题分开?可以做些什么来减轻和减少错误?
【问题讨论】:
-
"关闭因为离题..." 显然,我不同意。我不是在寻找路由器或交换机的建议;我想知道我的代码如何帮助解决这个问题。
标签: android http ssl unity3d amazon-s3