我目前正在編寫一個程序與使用TCP套接字的服務器通信。其中一部分要求通過多種方法來回發送信息。但是,我不想爲每個請求打開一個新的套接字連接,但我無法保證請求的數量或順序。爲了處理這個問題,我只保留一個重用的套接字實例。關閉BufferedReader而不關閉包裝流
但是,爲了讀取數據,我使用BufferedReader
包裝類。因爲我重複使用了相同的套接字,所以我無法在閱讀器上調用close()
,或者我也會關閉套接字流。
如果我不想關閉底層流,是否需要在BufferedReader上調用close()
?我會因爲不這樣做而導致內存泄漏嗎?如果我確實需要撥打close()
,如何在不關閉套接字流的情況下返回內存?
注意:我將在程序終止時關閉底層流,但這個問題不在於此。
爲什麼要爲每個請求打開一個新的套接字連接? – Kayaman
'爲每個請求打開一個新的套接字連接'和'重用相同的套接字'是相互矛盾的。這是什麼?下定決心。那麼關閉緩衝讀寫器有什麼作用? – EJP
哎呀!主要的錯字在那裏。我不想爲每個請求打開一個新的套接字。編輯。 – DonyorM