来源:3-3 编程实现基于 TCP 的 Socke t通信之客户端

圆圆的圈圈

2014-11-06 19:11

socket.shutdownOutput和socket.close()有什么区别呢

写回答 关注

3回答

  • 汤小洋
    2014-11-07 16:00:57

    socket.shutdownOutput()表示关闭当前socket的输出流,写入的数据都将被发送;

    socket.close()表示关闭当前socket,关闭后此连接将不再可用,当然,此socket的输入输出流也肯定关了

    血色星期二

    有两个问题: 第一,为什么客户端调用shutdownOutput关闭了Socket写入流,但是服务端却依旧可以向客户端发送数据呢?客户端和服务端的Socket对象,以及从该对象衍生出来的Socket读/写流都应该是同一个对象啊。 第二,假如客户端向服务端发送一个文件,为了告诉服务端到达文件末尾,而调用shutdownOutput向服务端发送结束标记。那么除了shutdownOutput以外有没有别的办法向服务端发送结束标记呢?因为关闭了Socket写入流之后,就再无法向服务端发送数据了。

    2015-05-27 09:41:57

    共 1 条回复 >

  • 蒲公英shine
    2016-01-08 22:21:02

    客户端关闭输出流,那么客户端不能向服务器端发送消息。。。但是输入流没有关闭,则服务器端依然可以行客户端发送数据吧

  • chenyufeng
    2015-06-20 14:37:14

    客户端关闭输出流,和服务器端向客户端发送数据本来就没有任何关系啊,不影响的。

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

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

125006 学习 · 627 问题

查看课程

相似问题