为每个新连接调用ChannelInitializer.initChannel
方法
pipeline.addLast(new HttpServerCodec());
pipeline.addLast(new HttpObjectAggregator(65536));
pipeline.addLast(new ServerWebSocketServerProtocolHandler("/api", "*", false));
我可以为所有连接重用相同的实例吗?如何通过多个连接判断特定处理程序是否可重用?
答案 0 :(得分:0)
您可以重复使用的处理程序,使用@Sharable
进行注释,这意味着可以保证无状态。
请继续查看不同处理程序的文档。
例如,HttpServerCodec
和HttpObjectAggregator
可共享。
最后一个处理程序可能是你实现的自定义处理程序,至少我不熟悉它。那取决于你的实施。
否则,您可以通过创建它们的静态实例来重用前两个处理程序,并仅为每个连接重新创建最后一个处理程序。