我想netty是我所知道的最好的java网络框架,在阅读并尝试一些示例后,我有疑问:
1.使用netty 4.0为具有不同协议的多端口创建网络服务器的最佳方法是什么?
每个服务器创建:
EventLoopGroup bossGroup=new NioEventLoopGroup();//(1)
EventLoopGroup workerGroup=新的NioEventLoopGroup();
ServerBootstrap b=新的ServerBootstrap();//(2)
在线程内运行的每个服务器
这样对吗?
2.网络插座服务器
如何为跨源案例保护Websocket服务器?关于这件事我没有任何参考资料
非常感谢你的帮助,
问候
BC,
我将在ServerBootstrap之间共享NioEventLoopGroup以共享相同的线程。
正如Norman所说,重要的是您需要共享事件循环组,这样您就不会创建太多的线程。只要共享事件循环组,就可以根据需要创建任意多的ServerBootstraps:
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
接受的连接。请进行一些性能测试,并指定最佳的numbosthreads
和numWorkerThreads
。
我有三个tomcat容器运行在不同的网桥网络与不同的子网和网关例如: 这些容器在不同的端口上运行,如8081, 8082, 8083 有没有办法在同一个8081中运行所有三个容器?如果可能的话,我怎么能在docker做呢。
例如,我可以启动两个程序侦听端口371。第二个没有任何问题地启动并接收传入连接,而第一个没有。一旦最后开始的进程终止,第一个接收它们。 假设这是Windows(XP)行为,它怎么可能是安全的行为呢?这意味着人们可以“过载”任何已经侦听的端口,而不是获得通常的“地址已经在使用”错误消息,并简单地绕过防火墙,规则只是说“允许端口371上的任何传入TCP连接”。
我目前正在Spring Boot 2.4.0中编写一个应用程序,它需要侦听多个端口(具体来说是3个-但将来可能是4个)。这个想法是每个端口都提供不同的API供其他服务/应用程序连接到它。 所以,对于一个最小的工作示例,我会说我们有一个像这样的SpringBootApp: 现在,我想让它在3个不同的端口上监听,比如8080、8081和8082。所有人(!)对其中一个端口的请求,应由特定控制器“负责”
我有一个依赖于多个docker容器的应用程序。我使用docker撰写,以便所有容器都在同一个网络中进行容器间通信。但是,我的两个容器在各自的容器中监听相同的端口8080,但是映射到主机上的不同端口: 8072,8073。对于集装箱间的通信,因为我们使用集装箱的端口,这会引起问题吗? 限制条件: 我需要两个容器才能运行我的应用程序。因此,我无法将具有相同内部端口的其他容器隔离到不同的网络 所有容器都
我正在尝试启动一个接受4个不同端口连接的第三方服务: x-deployment.yaml x服务。亚马尔 进入。亚马尔 默认情况下,GKE LoadBalancer在HTTP:80上运行运行状况检查,如果我启动后端服务(
问题内容: 我有一个要 并行 处理的文件夹名称字典。在每个文件夹,里面是文件名的数组,我想在加工 系列 : 最终,我将创建一个名为的文件夹,其中包含名称为的文件。我有这样的方法: 请注意上面的内容,由于通过UDP端口进行的调用会花费很长时间。我也仅限于在上面的阵列中使用UDP端口。因此,我必须等待UDP端口完成操作,然后才能再次使用该UDP端口。这意味着我一次只能运行线程。 因此,我最终将通过调用