关于异常问题/

student_2008 2009-03-01 08:53:30
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)
...全文
58 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
student_2008 2009-03-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 createWang 的回复:]
北大青鸟S1的结业例子吧,好好看看你们老师的课件。上面有方法。
[/Quote]
我们没讲,..
如果我要有我也不发帖了,你有嘛?
student_2008 2009-03-02
  • 打赏
  • 举报
回复
try{
output.writeObject("用户下线");
output.flush();

if(!socket.isClosed()){
socket.close();
}output.close();
input.close();
messageShow.append("已经与服务器断开连接...\n");
type = 0;//标志位设为未连接
}
catch (Exception e){
System.out.println("程序关闭");
}


我都写这样了,还是出现那异常我都不知道它怎么打出来的
weizhaozhe 2009-03-02
  • 打赏
  • 举报
回复
这个异常会有的,当Socket连接结束时发生,但是没有影响到正常的应用,可以捕捉该异常,并输出"Socket 结束!"之类,保证之前资源关闭就行了
createWang 2009-03-02
  • 打赏
  • 举报
回复
北大青鸟S1的结业例子吧,好好看看你们老师的课件。上面有方法。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧