我正在开发一个服务器应用程序,通过使用 Netty 将数据流式传输到客户端。基本上,有一个主服务器向我的应用程序提供数据,应用程序会将数据分发给注册用户。由于我的应用程序需要长期维护,而 Netty 3.5.8 和 Netty 4.0.0 在 API 方面有很大不同,所以我决定使用 Netty 4.0.0
但是,我遇到了一个问题,即当主服务器提供太多无法足够快地分发给客户端的数据时。堆内存使用量增加并导致内存不足,因此我尝试在写入数据之前检查客户端的缓冲区以防止此问题。我在网站(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 之前检查缓冲区?
提前致谢。