Netty 4.0多端口,每个端口都有不同的协议

时间:2014-07-04 09:43:58

标签: websocket netty

我认为netty是我所知道的最好的java网络框架,在阅读并尝试一些示例后我有疑问:

1。使用netty 4.0为不同协议创建多端口网络服务器的最佳方法是什么?

每个服务器创建:

EventLoopGroup bossGroup = new NioEventLoopGroup(); //(1)

EventLoopGroup workerGroup = new NioEventLoopGroup();

ServerBootstrap b = new ServerBootstrap(); //(2)

每个服务器在线程内运行

是正确的方式吗?

2。 Websocket服务器

如何保护Websocket Server for Cross origin案例?我没有任何关于它的参考

你的帮助非常感谢,

此致

BC,

2 个答案:

答案 0 :(得分:2)

正如Norman所说,重要的是你需要共享事件循环组,这样你就不会创建太多的线程。只要您共享事件循环组,就可以根据需要创建任意数量的ServerBootstrap

EventLoopGroup bossGroup = new NioEventLoopGroup(numBossThreads);
EventLoopGroup workerGroup = new NioEventLoopGroup(numWorkerThreads);

ServerBootstrap sb1 = new ServerBootstrap();
sb1.group(bossGroup, workerGroup);
...
sb1.bind();

ServerBootstrap sb2 = new ServerBootstrap();
sb2.group(bossGroup, workerGroup);
...
sb2.bind();

ServerBootstrap sb3 = new ServerBootstrap();
sb3.group(bossGroup, workerGroup);
...
sb3.bind();

bossGroup用于接受传入连接,workerGroup用于处理bossGroup接受的连接。请进行一些性能测试并指定最佳numBossThreadsnumWorkerThreads

答案 1 :(得分:0)

我会在ServerBootstrap之间共享NioEventLoopGroup以共享相同的线程。