java socket 一边关闭_java socket - 半关闭
通常,使用關閉輸出流來表示輸出已經結束。但在進行網絡通信時則不能這樣做。因為我們關閉輸出流時,該輸出流對應的Socket也將隨之關閉,這樣程序將無法再從該socket中讀取數據。
為了應付這種情況,socket提供了兩個半關閉的方法用來只關閉socket的輸入流或者輸出流,用以表示輸出數據已經發送完成。方法詳情:
shutdownInput():關閉該socket的輸入流,程序還可以通過該socket的輸出流輸出數據;
shutdownOutput():關閉該socket的輸出流,程序還可以通過該socket的輸入流讀取數據。
當調用shutdownInput()或shutdownOutput()方法關閉輸入流或輸出流后,該socket處于半關閉狀態。此時可以使用isInputShutdown()或isOutputShutdown()來判斷該socket是否處于半讀狀態或半寫狀態。
需要注意的是,即使同一個socket先后調用shutdownInput()和shutdownInput()方法,該socket實例仍然沒有被關閉,只是該socket既不能輸出數據也不能讀取數據而已。
當調用shutdownInput()或shutdownOutput()方法關閉了輸入流或輸出流之后,該socket無法再次打開輸出流或輸入流,因此這種做法不適合需要保持持久通信狀態的交互式應用。
總結
以上是生活随笔為你收集整理的java socket 一边关闭_java socket - 半关闭的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ant编辑java忽略注释_java –
- 下一篇: java的annotation_Java