1
OutputStream out = socket.getOutputStream();
out.write(someData);
socket.close();
将socket.close()
导致对等套接字不接收someData
?请问socket.close()中断数据传输?
OutputStream out = socket.getOutputStream();
out.write(someData);
socket.close();
将socket.close()
导致对等套接字不接收someData
?请问socket.close()中断数据传输?
请问
socket.close()
会导致对等套接字不能接收someData?
当然不是,在这种情况下是。它将排队一个FIN,在接收到所有待处理数据之后,该FIN只能作为流的结束被对等端接收。
但是,你应该叫out.close()
,以确保out
缓冲的任何数据被刷新一般规则,以防out
是一个缓冲流,而不是socket.close()
,不计较任何缓冲的流可能已经缠绕其输出流。
在问之前你读过javadoc吗? – rkosegi
调用'close()'之前使用[Socket#shutdownOutput()](http://download.java.net/java/jdk9/docs/api/java/net/Socket.html#shutdownOutput--) – AJNeufeld
当然连接丢失。如果您想在关闭套接字后传输任何数据,则必须创建新的套接字。 – Kishor