如何检测读取或写入通道的结束

时间:2014-05-07 12:02:47

标签: netty

我正在研究负载均衡器,我正在尝试将Netty源代理的基本example作为我的起点。

我正在尝试对示例进行的更改以及如何检测请求或响应的结束。

我不希望将客户端连接到特定服务器的生命周期连接,我想将每个请求分发给可能不同的服务器。但似乎这是不可能的,因为不清楚如何判断请求/响应是否已完成。

由于请求可以通过多次读取进行分解,因此我无法将每次读取的有效负载分配给不同的服务器,原因很明显。从服务器返回的响应也一样,我不知道什么时候完成,所以我不知道什么时候可以释放客户端和特定服务器之间的链接。

如果我从来没有发送大量的请求或响应,使得它们永远不会超过单个读取或写入,我的代码完全按照设计工作,但一旦它们被分成几个消息,我就开始遇到问题了。 / p>

我曾希望我可以使用活动/非活动或注册/取消注册事件,但由于客户端将保持连接打开以进行后续交互,这似乎不是一种选择。

此外,平衡器正在处理多协议请求/响应周期,因此我不能只检查LastHttpContent消息作为流完成的指示符。

0 个答案:

没有答案