当前位置: 首页 > 知识库问答 >
问题:

Netty多个频道?

皮煜
2023-03-14

我想用Netty实现Slack API客户端。Slack有几十种方法,每种方法都有不同的URL和响应格式。

我应该为每种方法创建一个通道并重复使用单个引导程序,还是应该为所有通信使用单个通道?实际上,我做这个项目是为了学习Netty,我无法从文档和示例(这些都是非常基本的)中理解策略。

对于通道每API方法,我可以使用不同的处理程序来处理不同的数据类型,但对于单个通道,我无法做到这一点,是吗?

我可以将通道存储为实例字段(“客户端”类)还是它是一个短暂的对象?

此外,这两种方式对内存和CPU的影响是什么?

共有1个答案

朱翔
2023-03-14

对于不同的松弛API方法,它们具有不同的业务逻辑,但底层传输是相同的。因此,在我看来,您应该将http逻辑与业务逻辑分开。

例如,您可以使用一个处理程序来处理超文本传输协议请求/响应,而另一个处理程序来处理松弛方法请求/响应

 类似资料:
  • 我正在使用Netty 4(alpha8)。 我想在管道中的ChannelHanders之间共享一些数据,在Netty的以前版本中,我想我会使用ChannelLocal,有没有Netty 4的等效版本?

  • 我刚开始和内蒂一起工作。我已经有了一个服务器,我正在为一个客户端写代码。 在客户端,我用下面的代码为ClientBootstrap对象设置了一个新的PipelineFactory 其中ResponseHandler()是我扩展SimpleChannelHandler的类。 我想找到频道ID。我做到了。 但它会抛出IllelgalStateException并表示我无法调用getPipeline()

  • 我需要让客户能够建立许多连接。我使用Netty 4.0。不幸的是,所有现有的示例都没有显示如何创建大量连接。 这是正确的决定吗?还是会更好?

  • 我刚刚把我的Netty 3软件转换成5,我遇到了一个问题。只有一个客户,一切都很好。我可以使用两个解码器(它们可以正常切换)并允许我登录。 当我尝试连接另一个客户端时,无论第一个客户端是否仍然连接,都会出现问题。第一个客户端保持连接绝对正常,但第二个客户端根本无法连接(不通过第一个解码器)。 这是我的引导程序: 第一解码器: http://pastebin.com/9FWzXSVE 第二个解码器:

  • 我使用的是Netty 3.9.5,我有一个简单的客户机-服务器设置,我从http://en.wikipedia.org/wiki/Netty_(软件)#Netty\u TCP\u示例。我扩展了这个示例,将Java search plan对象从客户端发送到服务器。在这个网站上跟踪用户的帮助下,我已经能够让这个程序按预期运行。 现在,我想让我的读卡器/服务器程序同时接受多个客户端。我想我会使用下面列出

  • 在我的netty应用程序中,我使用并提供IP密钥映射: 在通道已经处于活动状态并为客户端服务而不中断与这些客户端的通信后,是否可以更改映射(例如添加新ip)?