android - 如果在将数据发布到服务器并等待服务器响应后网络不可用,HTTP setReadTimeOut 可以工作

标签 android communication

我正在通过 HTTP 连接将数据从 Android Mobile 发布到服务器。我能够将数据发布到服务器并得到服务器的确认。但是有时如果我的服务器通信线程在发布数据后等待服务器的确认,那时候我会失去 Internet 连接并且线程无法从服务器接收 Ack 并进入无限循环。我尝试了 setReadTimeOut(180000) 方法。

它对我有用吗?如果没有网络可用/服务器和移动设备之间没有连接,它可以给出 SocketTimeOutException

最佳答案

设置超时很可能会起作用。但是,我不建议将其设置为 180000(= 180 秒 = 3 分钟!)。 30 秒通常绰绰有余。您可能还想添加 setConnectTimeout

请注意,在某些情况下 HttpUrlConnection 并不总是正常工作:

  1. Android 2.2 或更早版本,最好为这些版本使用 Apache HTTP 客户端(另请参阅 this post)
  2. 在模拟器上(另见 this post)

关于android - 如果在将数据发布到服务器并等待服务器响应后网络不可用,HTTP setReadTimeOut 可以工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10326951/

相关文章:

android - Anko layouts - applyRecursively 中区分布局

android - 如何将图像转换为base64字符串

c++ - 从另一个类调用一个类方法

networking - 如何从延迟和带宽计算数据包时间

matlab - Fortran与Matlab的通信

android - 相机 Intent 显示后标签无响应

android - TouchUtils 和 ActivityInstrumentationTestCase2 用户事件单元测试用例不工作

java - 添加几个具有不同配置的 appWidgets?

Linux使用write命令与其他用户通信

java - FPGA与PC机通讯