我開發了一個服務器應用程序,通過使用Netty將數據傳輸到客戶端。基本上,有一臺主服務器向我的應用程序提供數據,應用程序將數據分發給註冊用戶。由於我的應用程序需要長期維護,Netty 3.5.8和Netty 4.0.0在API方面有很大不同,因此我決定使用Netty 4.0.0防止Netty 4.0.0中的內存不足錯誤.Alpha
但是,我遇到了這樣的問題:當主服務器提供的數據太多時,無法足夠快地分發給客戶端。堆內存使用量增加並導致內存不足,所以我在嘗試在寫入數據之前檢查客戶端的緩衝區以防止出現此問題。我在網站(http://static.netty.io/4.0/xref/io/netty/example/discard/package-summary.html)中使用了丟棄示例,但它不起作用,因爲有時堆內存已滿在聽者被調用之前。我在Netty 3.5.8中查看這個例子,發現這個例子在寫入數據之前檢查實際的緩衝區。它與4.0.0中的例子不同。因此,我們是否有辦法在netty 4.0.0中寫入之前檢查緩衝區?
在此先感謝。