关闭输出流时 Java 套接字的行为
有人可以解释Java套接字中的以下行为吗:
一般的想法是这样的:
- 打开套接字,获取 I/O 流。
- 写入请求,关闭流
- 阅读响应,在流中关闭
- 关闭插座。
这是我的问题/问题。
如果我使用 a 作为输出,然后将其关闭,它将关闭整个套接字,并且随后的读取操作失败得很惨。PrintWriter
相反,如果我直接使用套接字的方法,它会正确关闭输出流通道,同时保持套接字处于活动状态。shutdownOutput()
为什么关闭 PrintWriter
对象会随之关闭整个套接字?