try{
output.writeObject("用户下线");
output.flush();
if(output!=null){
output.close();
}
.....
}为什么运行到这里的时候会有异常
异常为
java.net.SocketException: socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.net.SocketInputStream.read(SocketInputStream.java:182)
at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2196)
at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2486)
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2496)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1273)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at com.hyh.QQ.chat_client.ClientReceive.run(ClientReceive.java:29)
output.writeObject("用户下线");
output.flush();
if(output!=null){
output.close();
}
.....
}为什么运行到这里的时候会有异常
异常为
java.net.SocketException: socket closed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.net.SocketInputStream.read(SocketInputStream.java:182)
at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2196)
at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2486)
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2496)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1273)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
at com.hyh.QQ.chat_client.ClientReceive.run(ClientReceive.java:29)
output.writeObject("用户下线");
output.flush();
if(!socket.isClosed()){
socket.close();
}output.close();
input.close();
messageShow.append("已经与服务器断开连接...\n");
type = 0;//标志位设为未连接
}
catch (Exception e){
System.out.println("程序关闭");
}
我都写这样了,还是出现那异常我都不知道它怎么打出来的