【发布时间】:2013-03-23 14:48:28
【问题描述】:
我有两个安卓设备,A 是服务器,B 是客户端,并通过套接字连接, 服务器/客户端如何知道对方是断开还是关闭,
我试过isconnect(),但没用。
【问题讨论】:
标签: java android sockets client-server
我有两个安卓设备,A 是服务器,B 是客户端,并通过套接字连接, 服务器/客户端如何知道对方是断开还是关闭,
我试过isconnect(),但没用。
【问题讨论】:
标签: java android sockets client-server
如果对端正常断开:
read() 将返回 -1readLine() 将返回 nullreadObject(), readUTF(), readXXX() 对于任何 XXX 都会抛出 `EOFException如果对端异常断开,连接变坏等,任何读取或写入方法都会抛出IOException,,除非没有读取超时的读取可能会永远阻塞:这就是为什么你应该始终使用读取时间(通过setSoTimeout())。
isConnected() 仅告诉您是否曾经连接或接受过套接字。 isClosed() 只会告诉您是否曾经关闭它。这些 API 告诉您Socket,而不是连接。
【讨论】: