java I⼀O流的异常问题

2025-05-02 05:58:42
推荐回答(4个)
回答1:

如果是使用TCP协议通信,由TCP协议是面向连接。所以当客户端关闭后,由于没有预先告诉服务要销毁连接,客户端关闭时(客户与服务异常断开)服务端就会出现异常(空流情况)。这些都是在意料之内的。

一般的处理方法
对networkStream 处理应该是放在try {}catch{}里当出现异常就销毁当前socket连接:
伪代码为
try{

networkStream.read();
}catch{
socket.close();
}

回答2:

客户端强制断开链接后,线程继续发送消息会抛异常,因为socket已经断开。

回答3:

服务器那边没有自动停止连接客户端

回答4:

如果是客户端主动关闭,忽略即可。