Netty的WebSocket和HTTP协议支持
今天我学习了Netty的WebSocket和HTTP协议支持,包括HTTP协议的编解码器、WebSocket相关Handler等,掌握了Netty基于WebSocket和HTTP的服务器开发技术。下面是一个WebSocket服务器:
public class WebSocketServer {
public static void main(String[] args) throws Exception {
EventLoopGroup bossGroup = new NioEventLoopGroup();
EventLoopGroup workerGroup = new NioEventLoopGroup();
try {
ServerBootstrap bootstrap = new ServerBootstrap();
bootstrap.group(bossGroup, workerGroup)
.channel(NioServerSocketChannel.class)
.childHandler(new ChannelInitializer<SocketChannel>() {
@Override
protected void initChannel(SocketChannel ch)
throws Exception {
ch.pipeline().addLast(new HttpServerCodec(), new HttpObjectAggregator(64 * 1024), new WebSocketServerProtocolHandler("/ws"), new TextWebSocketFrameHandler());
}
});
ChannelFuture future = bootstrap.bind(8080).sync();
future.channel().closeFuture().sync();
} finally {
bossGroup.shutdownGracefully();
workerGroup.shutdownGracefully();
}
}
}