【问题标题】:android server how to know client is disconnect or closeandroid服务器如何知道客户端断开或关闭
【发布时间】:2013-03-23 14:48:28
【问题描述】:

我有两个安卓设备,A 是服务器,B 是客户端,并通过套接字连接, 服务器/客户端如何知道对方是断开还是关闭,

我试过isconnect(),但没用。

【问题讨论】:

    标签: java android sockets client-server


    【解决方案1】:

    如果对端正常断开:

    • read() 将返回 -1
    • readLine() 将返回 null
    • readObject(), readUTF(), readXXX() 对于任何 XXX 都会抛出 `EOFException

    如果对端异常断开,连接变坏等,任何读取或写入方法都会抛出IOException,,除非没有读取超时的读取可能会永远阻塞:这就是为什么你应该始终使用读取时间(通过setSoTimeout())。

    isConnected() 仅告诉您是否曾经连接或接受过套接字。 isClosed() 只会告诉您是否曾经关闭它。这些 API 告诉您Socket,而不是连接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-20
      • 1970-01-01
      • 2021-12-22
      • 2019-02-23
      • 1970-01-01
      • 2015-04-04
      • 1970-01-01
      • 2012-03-30
      相关资源
      最近更新 更多