一个连接向服务器发送许多请求
如何同时处理请求。
请在netty.io中使用像timeserver或echoserver这样的简单示例 说明操作。
答案 0 :(得分:0)
我能找到的一种方法是创建一个单独的线程处理程序,它将以生产者/消费者的方式调用。
制作人将是您的网络"处理程序,向消费者发送消息,因此不等待任何wanswear,然后能够继续下一个请求。
消费者将成为您的业务"处理程序,每个连接一个,但可能是多线程的,消耗多个实例消息,并能够使用Netty的上下文从它所连接的连接回答。
消费者的另一个选择是只有一个处理程序,仍然是多线程的,但随后消息将与原始Netty的上下文一起进入,这样它就可以回应客户端,无论连接是什么。
但困难很快就会到来:
如何在客户端的多个请求中处理answear:假设客户端发送3个请求A,B和C,并且由于业务处理程序的速度,answears将返回,如C,A ,B ......你必须处理它,并知道答案是哪个请求。
如果您不想有太多错误,您必须确保参数中给出的上下文的所有方式仍然有效(频道有效)。
也许最好的方法是按顺序处理您的请求(如Netty所做的那样),并尽快保持answear的行动。