[英]Measuring socket buffer in Java IO and NIO
我編寫了一個簡單的設置代碼:客戶端連接到服務器,服務器開始發送字節,客戶端讀取字節,但有1秒的延遲。 我有2種實現方式:使用Java IO和Java NIO。 通過打印服務器發送的字節數和客戶端打印的字節數,我嘗試測量系統中客戶端緩沖區的大小。 當然,我通過socket.getReceiveBufferSize()方法再次檢查了它。
這沒有任何實際意義,只是學習Java IO時的一個練習。
當我運行IO代碼時,它的正常運行:socket.getReceiveBufferSize()返回大約8000個字節,已發送和已接收字節之間的差異始終保持在這個數字附近。 即,我在兩個控制台中同時看到以下日志:“已發送33000字節”和“已接收25000字節”。
當我運行NIO代碼時,情況就不同了。 盡管channel.socket()。getReceiveBufferSize()通常返回8000,但增量始終約為27000字節。
Windows,Java 6,客戶端和服務器位於同一台計算機上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.