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

如何在Netty服务器中使用Netty客户端

逑禄
2023-03-14

我将创建一个身份验证服务器,它本身与一组不同的Oauth2.0服务器交互。Netty似乎是在这里实现网络部分的一个很好的候选者。但在开始之前,我需要澄清一些关于netty的细节,因为我是新手。例行程序如下:

> < li>

服务器接受来自客户端的HTTPS连接。

然后,不关闭第一个连接,它通过HTTPS与远程OAuth2.0服务器建立另一个连接并获取数据

毕竟,服务器将结果发送回客户端,客户端应该保持连接处于活动状态。

如何使用Netty实现此场景?每次需要连接到远程Oauth2.0服务器时,我都必须创建一个新的netty客户端和/或重新连接它吗?如果是这样,我必须为每个传出连接创建一个单独的线程,这将大大降低性能。另一种情况是在服务器开始时(当服务器启动时)在服务器内创建足够数量的Netty客户端,并通过HTTPS使它们持续连接到Oauth2.0服务器。

共有1个答案

孔鹤龄
2023-03-14

使用Netty很容易做到这一点。首先,您使用ServerBootstrap设置Netty服务器,然后在处理来自客户端的连接的ChannelHandler中,您可以使用客户端的Bootstrap来连接OAuth服务器并获取数据。您不需要担心创建线程或类似的线程。您可以以非阻塞方式完成所有操作。请看一看并尝试了解此示例的工作原理:

https://github.com/netty/netty/blob/master/example/src/main/java/io/netty/example/proxy/HexDumpProxyFrontendHandler.java#L44。

 类似资料:
  • 似乎服务器拒绝了wireshark输出中的tls协商,但我从代码中看不出原因。它是基于工作的代码,只是它被否决了,因此我用新的API更新。代码是开始。需要使用真实的证书。有人知道为什么服务器发送tcp FIN,ack吗? 我有以下服务器代码: 23 16.856111 sonymobi_7f:55:af intelcor_25:1d:fc ARP 42 10.1.10.100在84:c7:ea:7

  • 我需要在netty中有一个客户机/服务器通信,用于我的项目目的之一。所以我刚开始用一个handsOn来改进,我正在学习netty,我是一个初学者。 我尝试了一个简单的客户端服务器与Netty聊天。 客户端和服务器正在初始化,我可以看到服务器能够获得用于建立连接的客户端管道,但是当客户端发送消息时,它没有进入ServerAdapterHandler的messageReceived部分。下面是我的源代

  • 在本节中,我们将构建一个完整的的 Netty客 户端和服务器。虽然你可能集中在写客户端是浏览器的基于 Web 的服务,接下来你将会获得更完整了解 Netty 的 API 是如何实现客户端和服务器的。 Figure 2.1.Echo client / server 图中显示了连接到服务器的多个并发的客户端。在理论上,客户端可以支持的连接数只受限于使用的 JDK 版本中的制约。 echo(回声)客户端

  • 问题内容: 我经常在Netty工作,但仍然有一个概念在暗示我,在教程等中找不到任何内容。首先,我确实了解Netty是异步的,但是客户端必须有一种方法来调用服务器,并且能够获得处理程序之外的响应。让我解释更多。 我有一个客户,如下图所示。并且请注意,我知道它是自举的,并且在每次调用时都会建立一个新的连接,这是为了使示例更小,更简洁。请忽略这个事实。 客户端.java 现在,我了解了如何获取服务器上的

  • 在调用writeAndFlush()之后,我不知道如何从服务器检索响应;我该怎么办? 我也使用Netty 4.0.18.final

  • 这是我关于StackOverflow的第一个问题,我希望我遵守了预期的标准。 我已经从不再在这里工作的其他人那里接管了一些代码,我几乎被困在这里。我搜索并询问了一些同事(不幸的是没有太多Java经验),但似乎没有人能帮助我。搜索也没有真正帮助我。 我正在从客户端向Netty服务器发送Json请求,故意不使用Netty实现。目前它只是一个简单的Java套接字,但其目的是让Flask客户端向Netty