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