我有一个新项目,将首次使用Netty(v4.0.4)。我会有一个服务器与成千上万的已连接客户端。服务器将向这些客户端发送命令,并应收到响应。
查看API和在线示例,我不确定如何从服务器的角度对客户端进行建模。我已将我的通道组织成不同的ChannelGroup,并且可以很好地发送命令。
我需要知道命令是否超时或返回错误代码。我可能还需要为每个客户端维护一个命令队列。我应该使用ScheduledExecutorService为每个命令设置超时处理程序,然后在响应到来时取消Future吗?
是否应该子类化Channel以封装此逻辑?还是应该使用某种类型的会话存储并将逻辑放在我的入站通道处理程序中?
我相信这些方法可以发挥作用,但它们似乎有些笨拙,我想确保自己按照netty的方式操作。
谢谢!