我想 netty 是我所知道的最好的 java 网络框架,在阅读并尝试一些示例后我有疑问:
1. 使用netty 4.0创建具有不同协议的多端口网络服务器的最佳方法是什么?
每个服务器创建:
EventLoopGroup bossGroup = new NioEventLoopGroup(); // (1)
EventLoopGroupworkerGroup = new NioEventLoopGroup();
ServerBootstrap b = new ServerBootstrap(); // (2)
每个服务器在线程内运行
那是正确的方法吗?
2.Websocket服务器
如何保护跨源情况下的 Websocket 服务器?我对此没有任何参考
非常感谢您的帮助,
Regards
BC,
正如诺曼所说,重要的是您需要共享事件循环组,这样您就不会创建太多线程。只要共享事件循环组,就可以创建任意数量的事件循环组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();
The bossGroup
用于接受传入的连接,并且workerGroup
用于处理接受的连接bossGroup
。请做一些性能测试并指定最佳的numBossThreads
and numWorkerThreads
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)