我正在寫一個簡單的客戶端/服務器應用程序,我發現使用DataInputStream讀取數據非常方便,因爲它允許您選擇要讀取的內容(無需自己將其從字節中轉換),但是我想知道是否最好將它包裝在BufferedInputStream中,或者如果這隻會增加不必要的開銷?Java - 將DataInputStream與套接字一起使用,是否緩存?
我問的原因是因爲我不知道直接從套接字流中讀取代碼有多昂貴(當使用BufferedInputStream時,它只會從套接字流讀取一次,然後使用BufferedInputStream DataInputStream類)。
收到的數據通常非常小,大約20-25字節。
在此先感謝您的任何答案! :d
這沒有意義。緩衝區在套接字的生命週期中被分配一次。可以有任意數量的讀取。讀取越緩慢,讀取越緩慢。 – EJP 2010-11-05 23:16:27
如果客戶端正在連接,發送一條小消息,然後斷開(如Ajax-y可能),則緩衝可能效率低下。閱讀數量必須非常小,但20-25的範圍可能足夠低。我不知道:這就是爲什麼我建議分析。 – 2010-11-05 23:20:10
現在我想到了,AJAX不會給你20-25字節的消息...... XML太冗長了。不過,我*認爲客戶不會保持聯繫。如果這個假設是錯誤的,那麼總是使用緩衝區。 – 2010-11-05 23:22:20