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

netty客户端连接操作的哪一部分应该共享?

何玉韵
2023-03-14

虽然netty站点有很好的文档记录,并且包含了相当数量的示例代码,但是有些东西我并不清楚。

在超文本传输协议示例(在netty 4.0分支上)中,需要执行许多步骤来创建单个请求并检索响应。它们是:

  • 如有必要,请创建一个 ssl 上下文(如果请求是 https)
  • 创建事件循环组
  • 创建引导
  • 数据库
  • 调用引导组(事件循环组).通道(通道类).处理程序(通道处理程序)。
  • 调用助推器连接().通道() 以获取通道

我不清楚这里哪些步骤可以共享,哪些必须按请求创建。特别是,如果我正在运行一个将创建超文本传输协议和https请求混合的循环,我是否需要一个单独的引导程序,每个类型都有一个单独的处理程序(一个有ssl上下文,一个没有)?

共有1个答案

权胜泫
2023-03-14

你可以(也应该)分享一切…你可以多次调用bootstrap.connect()。

 类似资料:
  • 在Netty中创建客户端连接时,我有一个问题。 这里,为什么我们没有一个bind方法,将通道绑定到发起客户端连接的端口(在客户端)?我们唯一需要提供的就是给出服务器地址和端口如下: 这是在客户端还是服务器端创建了一个新的通道?此通道绑定在客户端的哪个端口? 我们在执行服务器端引导时进行绑定,如下所示 我很困惑,不明白客户端从哪个端口向服务器发送数据,使用的是什么通道?

  • 我试图理解netty http客户端连接池。如果是NIO和异步的,那么这个连接池的意义是什么? 例如:如果服务A调用服务B,并且服务A的客户端连接池计数设置为50,那么这是否意味着我们最多只能发出50个并行请求? 更新: 我在3.5秒内完成了所有通话。理想情况下,有一个连接,我应该在150秒内完成。

  • 我正在使用Netty 4.0构建一个客户端/服务器。服务器正在正确监听localhost:8083并且我可以远程登录它,它会正确触发服务器断点。但是当我尝试使用这段代码连接时: 它在sync()处抛出异常:java.nio.channels.ClosedChannelException。如前所述,当我telnet 127.0.0.1 8083(或用Socket连接代码)时,它确实有效。知道吗?非常

  • 按照这里的讨论,我使用以下步骤使外部客户端(基于 kafkajs)连接到 OpenShift 上的 Strimzi。这些步骤从这里开始。 被编辑为如下所示。 要提取证书并在客户端中使用它,我运行了以下命令: 请注意,我必须在我的macOS上使用,而不是,如留档所示。 这是从他们的 页面和他们的文档改编的客户端。 当我从具有的文件夹运行时,我收到一条连接拒绝消息。 我错过了什么?

  • 我正在尝试从另一台机器创建与基于java的套接字服务器的多个客户端连接。服务器和客户端都使用Netty 4进行NIO。在服务器端,我使用了boss和Worker group,它能够在单个linux盒上接收和服务器100000并发连接(在设置内核参数和ulimited之后)。 但是,我最终在客户端为每个连接创建了一个新线程,这导致了JVM线程限制异常。 有人能告诉我,我如何使用Netty从客户端创建

  • 问题内容: 我有一个Java控制器,必须向我发送一些文本数据和不同的字节数组。因此,我正在构建n多部分请求,并将其写入到HttpServletResponse的流中。 现在我的问题是如何在客户端解析响应并提取多个部分。 服务器代码片段:- 客户代码片段:- 我检查了CloseableHttpResponse和HttpEntity,但是它们都不提供解析多部分请求的方法。 编辑1:这是我在客户端流中收