【问题标题】:Android SSL socket blocks on read while changing connection更改连接时读取 Android SSL 套接字块
【发布时间】:2010-02-19 18:27:52
【问题描述】:

我假设当我对输入流进行读取时,它会阻塞,直到它获得更多要读取的数据。 我还假设当连接关闭时,读取会抛出 IOException。

问题是,有时当我将连接从运营商更改为 WiFi 或从 WiFi 更改为运营商时,读取会卡住并且永远不会抛出 IOException。

SDK 是 1.5,手机是 HTC Hero。

这种行为对我来说很丑陋,因为我需要始终保持联系。 有没有其他人见过这个问题?是bug还是我是bug?

谢谢

【问题讨论】:

  • 如果Socket 在切换底层连接后仍然可行,我会感到惊讶。这可能会改变IP地址等。
  • 我同意 erikson 的观点,但我希望它会抛出某种异常,而不是永远挂起。
  • 我同意你的观点,有时它会发送一个 ioexception,但有时它会在读取调用中被阻止。
  • 当我切换连接时,OutputStream“认为”它已连接,但实际上没有(没有抛出 IOExeption)

标签: java android sockets


【解决方案1】:

无论如何,即使我切换到平面模式,有时它也会阻塞。流属性是:打开、未关闭、绑定、创建。 我是唯一遇到此错误的人吗?

【讨论】:

    【解决方案2】:

    我得到了完全相同的错误(Nexus one,Android 2.1),使用确实执行 SSL 的 asmack。见链接http://code.google.com/p/asmack/issues/detail?id=16

    【讨论】:

      猜你喜欢
      • 2013-09-18
      • 1970-01-01
      • 2011-01-01
      • 2013-10-14
      • 2016-08-19
      • 1970-01-01
      • 2014-06-30
      • 1970-01-01
      • 2012-11-17
      相关资源
      最近更新 更多