【问题标题】:Why do HttpUrlConnection (facebookSDK) fail when using 2g data connection?为什么使用 2g 数据连接时 HttpUrlConnection (facebookSDK) 失败?
【发布时间】:2013-03-26 09:32:50
【问题描述】:

我正在尝试社交化我的 android 应用程序,从 facebook 开始,我成功地通过我的 WiFi 连接在我/feeds 上发布了一个帖子......但是当我只对相同的代码使用 2g 数据连接时,我得到的结果是要么“连接超时”或有时“网络无法访问”的例外情况。

问题发生在 facebookSDk 的 Request 类中,它使用 HttpUrlConnection 连接到 fb。

connection.setDoOutput(true);

BufferedOutputStream outputStream = new BufferedOutputStream(connection.getOutputStream());

connection.getOutputStream() 稍等片刻,有时会抛出 SocketTimeoutException 或有时网络无法访问

还有

  1. 是的,我使用 RequestAsyncTask
  2. 是的,我使用手机浏览器检查了 graph.facebbok.com 网址,使用 2g 连接,它返回一个错误 json。
  3. 是的,我尝试了 facebookSDk 中给出的示例,但它似乎也不起作用。
  4. 是的,它绝对可以使用 WiFi 连接

由于我大多得到超时异常,我认为这不是我的连接问题,在浏览器中我也可以让 url 返回一些东西。

我已经在堆栈中搜索了一个答案,但没有这样的答案。所以我希望有人能帮我一把。

提前致谢。

【问题讨论】:

    标签: android facebook


    【解决方案1】:

    错误SocketTimeoutException表示您的连接由于服务器在一段时间后没有响应而断开。由于 2G 提供较慢的数据传输速度,因此我建议您将超时值增加到更高的值。出于测试目的,可能是值的两倍或三倍。

    【讨论】:

    • 我也给了超时......最多 30 秒....仍然在 30 秒后..它失败了......但让我感到困惑的是,它在 WiFi 中的工作就像小菜一碟...还是我不应该使用 2g 连接...?
    • WiFi 连接被认为是移动设备上最快的。你能把超时时间增加到 60 秒看看有什么效果吗?
    • 真的等了 60 秒然后最后抛出异常还是几秒后才发生?
    • 几秒后出现,异常依然是Connection timed out。
    • 嗯,看起来不太好。尝试重新启动您的设备或尝试从任何其他服务器(不是 facebook)获取一些随机数据。如果还是不行,那么我相信你的 2g 连接似乎很不稳定或很慢。
    猜你喜欢
    • 2012-12-22
    • 1970-01-01
    • 2021-01-28
    • 2012-10-04
    • 1970-01-01
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多