socket.close()会中断数据传输吗?

时间:2017-10-15 05:09:25

标签: java sockets networking

OutputStream out = socket.getOutputStream();
out.write(someData);
socket.close();

socket.close()会导致对等套接字无法接收someData吗?

1 个答案:

答案 0 :(得分:2)

  

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="details"> <h1 id="title">Old title</h1> <a id="aId" href="https://www.google.pl/">Old author</a> </div>会导致对等套接字不接收someData吗?

绝对不是,在这种情况下。它会将FIN排队,只有在收到所有待处理数据后才能被对等体接收为流。

但是作为一般规则,您应该调用socket.close(),以确保out.close()中缓冲的任何数据都被刷新,以防out是缓冲流,而不是out,它不关心任何缓冲的流可能已经包裹在其输出流中。