Java 有没有什么方法可以让你从一个烦人的频道读到的信息和你从另一个频道读到的信息一样快?
我们在LittleProxy中遇到了一个问题,当从快速服务器读取时,OutOfMemoryErrors会弹出。LittleProxy正在代理对配置为使用代理的慢速客户端的访问和写入。问题是,从服务器输入的数据在内存中的缓冲速度比我们可以将其写入客户机的速度快。LittleProxy只是构建在Netty之上的一个简单HTTP代理 有没有简单的方法来限制远程服务器的读取速度,使其与客户端能够读取的速度完全相同 见: 及Java 有没有什么方法可以让你从一个烦人的频道读到的信息和你从另一个频道读到的信息一样快?,java,netty,Java,Netty,我们在LittleProxy中遇到了一个问题,当从快速服务器读取时,OutOfMemoryErrors会弹出。LittleProxy正在代理对配置为使用代理的慢速客户端的访问和写入。问题是,从服务器输入的数据在内存中的缓冲速度比我们可以将其写入客户机的速度快。LittleProxy只是构建在Netty之上的一个简单HTTP代理 有没有简单的方法来限制远程服务器的读取速度,使其与客户端能够读取的速度完全相同 见: 及 您可以查看以下源代码:org.jboss.netty.example.prox
您可以查看以下源代码:org.jboss.netty.example.proxy.hextdumpproxyinbundhandler
它根据出站通道的状态设置入站通道可读标志。希望这能有所帮助。为什么不暂停从服务器上阅读?这里的讨论可能会帮助您:@unreputable当然,您可以这样做,但这会有点粗糙。理想情况下,我们从服务器读取数据的速率与客户端从我们读取数据的速率完全相同。只是周期性地暂停一下会很笨拙。是的,应该可以。在将其标记为答案之前,我们将实施并测试该修复程序,但看起来绝对正确。该技术的一个变体非常有效——谢谢@Jian Jin!!