socket.shutdownOutput()及TCP協議的問題
在客戶端發送數據的代碼后為什么必須加上socket.shutdownOutput();//關閉socket輸出流但不斷開連接;
不加的話會發生 Connection reset異常。
主要困惑在 代碼是一句句執行的。寫一句PrintWriter.write(),后面沒有發送數據的代碼,自然就是不發送數據了?為什么還要顯示指明socket.shutdownOutput();//關閉socket輸出流;這個跟TCP還是跟socket的原理有關系?
2017-07-24
估計是有關系,再加上占用資源什么的,應該就是不關就讓你報異常