运行效果实现了,但是运行为什么会报错呢?java.net.SocketException: Socket is closed

来源:3-4 完善用户登陆之服务器响应客户端

艾米丽宏

2018-05-27 12:36

https://img1.mukewang.com/5b0a357e0001031409520628.jpgjava.net.SocketException: Socket is closed

写回答 关注

3回答

  • qq_星河k_0
    2018-05-28 21:17:43
    已采纳

    你把socket.shutdownInput写到While结构的后面,就不会出现了。同样的Client也是,我猜测:socket的这个方法,是优先级高的,应该先关掉,如果后置,就会重新检验Outputstream等等,结果,就悲剧了。

    艾米丽宏

    非常感谢!

    2018-05-29 09:57:45

    共 3 条回复 >

  • 能你所做
    2018-10-06 20:42:43

    你写了两次shutdownoutputstream

  • 慕先生048745
    2018-05-28 10:58:30

    因为你没有判断是socket是不是已经关闭了,你的socke它已经is closed,它就为空,你就不用再关了,但它不影响上面的代码

    no4990 回复艾米丽宏

    老师没有在最后关闭资源的时候关闭inputStream,而你关闭了,而且你关闭之前没有检查是否已经关闭。

    2019-07-08 15:28:34

    共 2 条回复 >

Java Socket应用---通信是这样练成的

分享的是 Java 中的网络编程,使用Socket实现网络聊天通信

125012 学习 · 590 问题

查看课程

相似问题