java 安卓服务器如何知道客户端断开或关闭 9 月 Questions & Answers 1468 我有两个安卓设备,A是服务器,B是客户端,用socket连接, 服务器/客户端如何知道彼此断开或关闭 我尝试了isconnect(),但没有用
# 1 楼答案 如果对等方已正常断开连接: read()将返回-1 readLine()将返回null readObject(),{},{}对于任何XXX都将抛出'eofeexception' 如果对等方异常断开连接,连接变差,等等,任何读或写方法都会抛出IOException,,除非没有读取超时的读取可能永远阻塞:这就是为什么您应该始终使用读取时间(通过setSoTimeout()) isConnected()只告诉您是否连接或接受过套接字isClosed()只告诉您是否关闭过它。这些API告诉您关于Socket的信息,而不是关于连接的信息
# 1 楼答案
如果对等方已正常断开连接:
read()
将返回-1readLine()
将返回nullreadObject(),
{如果对等方异常断开连接,连接变差,等等,任何读或写方法都会抛出
IOException,
,除非没有读取超时的读取可能永远阻塞:这就是为什么您应该始终使用读取时间(通过setSoTimeout()
)isConnected()
只告诉您是否连接或接受过套接字isClosed()
只告诉您是否关闭过它。这些API告诉您关于Socket
的信息,而不是关于连接的信息