Socket服务器 判断客户端连接断开

sendUrgentData

public void sendUrgentData(int data) throws IOException
在套接字上发送一个紧急数据字节。要发送的字节是数据参数的八个最低位。紧急字节在对套接字 OutputStream 的所有预先写入之后但在任何以后写入之前发送。
参数:
data - 要发送的数据字节
抛出:
IOException - 如果发送数据时发生错误。

ServerSocket serSocket = new ServerSocket(PORT);
Socket socket = serSocket.accept();
try{
	socket.sendUrgentData(0);
}catch(Exception e) {
	//进到这里,已表示该客户端已经断开,需要捕获异常进行处理了
	//个人觉得在两端无法实现心跳包检测的情况下使用比较好
}

另: 客户端的连接socket的 setOOBInline (boolean on),设置为true,效果更好

你可能感兴趣的:(exception,socket,服务器)