woshikid / blog

Apache License 2.0
8 stars 1 forks source link

java.net.SocketException #168

Open woshikid opened 2 years ago

woshikid commented 2 years ago

正常关闭

客户端在调用socket.close()之后,将发送FIN

此时客户端调用read()write(),都将报java.net.SocketException: Socket is closed 若服务端调用read(),将返回-1,调用write(),不会抛出异常,但客户端将发送RST

连接被RST之后,服务端调用read()

若服务端调用write()

异常断开

客户端程序退出或kill之后

如果没有收到FIN,直接收到RST 若服务端调用read(),将报java.net.SocketException: Connection reset 若服务端调用write(),将报java.net.SocketException: Connection reset by peer