如何使用netty执行以下操作:
现在我有了这段代码:
public class HttpHelloWorldServerInitializer extends ChannelInitializer<SocketChannel> {
@Override
public void initChannel(SocketChannel ch) {
ChannelPipeline p = ch.pipeline();
p.addLast(new HttpServerCodec());
p.addLast(new HttpHandler());
// Other pipelene handlers?
}
}
我可以使用&#34; swither&#34;在管道?或者它没有意义,我需要在处理程序内处理请求uri。但是如何确定websocket协议?
答案 0 :(得分:2)
在你自己的HttpHandler中,你必须首先检查uri然后决定运行哪个“真正的”处理程序。要做到这一点,有两种方法:
第一个是最简单但不容易扩展。
第二个是有点困难,你必须确保/清理每个请求到达正确的处理程序。例如,
简而言之,您正在尝试在Web服务中实现路由解析。