多端口 Netty 套接字服务器
Multiport Netty Socket Server
我正在尝试使用 Netty 开发以下用例:
- 客户端连接到(端口 8900)上的中间服务器。
- 客户端向另一台机器发送带有配置的处理器请求。
- 第 3 台机器根据配置启动处理器。
- 处理器根据配置中标识的端口(例如端口 8901)连接到启动处理器的同一台服务器。
- 服务器现在根据客户端和处理器之间共享的匹配唯一哈希来绑定客户端和处理器。
- 为每个新的客户端连接创建新的处理器。
客户端连接没有问题。我有一个 ClientHandler 来处理这些请求。但是我在注册 ProcessorHandler(必须根据客户端发送的配置动态绑定)并为特定客户端提供服务时遇到问题。
任何帮助将不胜感激,因为我目前很难理解如何从 ClientHandler 发送处理器的配置后,我可以在服务器上启动一个新的服务器套接字并 link 客户端到它是处理器。
客户端和处理器共享一个唯一的哈希值,可用于识别哪个处理器应该为哪个客户端提供服务。
我基本上一直在用Netty HexProxy Example idea, but instead of a client socket, I need another server socket to serve the processor. I was thinking of linking the two by either adding a handler to the other's pipe or doing something similar to Netty SecureChat Example。
通过重新想象我能够解决这个问题的场景。
我没有将客户端视为客户端,将处理器视为服务于特定客户端请求的服务器,而是将两者都视为连接到聊天服务器(中间服务器)的客户端。
通过将 bootstrap 发送到绑定和同步当前未绑定的端口的 HandshakeHandler 来建立任意服务器端口。
它也是 HandshakeHandler,它通过唯一的哈希将客户端和处理器连接到特定的 ChannelGroup,并根据需要为每个通道重新配置通道管道(一旦客户端和处理器之间的握手成功完成,就会自行删除)。
我正在尝试使用 Netty 开发以下用例:
- 客户端连接到(端口 8900)上的中间服务器。
- 客户端向另一台机器发送带有配置的处理器请求。
- 第 3 台机器根据配置启动处理器。
- 处理器根据配置中标识的端口(例如端口 8901)连接到启动处理器的同一台服务器。
- 服务器现在根据客户端和处理器之间共享的匹配唯一哈希来绑定客户端和处理器。
- 为每个新的客户端连接创建新的处理器。
客户端连接没有问题。我有一个 ClientHandler 来处理这些请求。但是我在注册 ProcessorHandler(必须根据客户端发送的配置动态绑定)并为特定客户端提供服务时遇到问题。
任何帮助将不胜感激,因为我目前很难理解如何从 ClientHandler 发送处理器的配置后,我可以在服务器上启动一个新的服务器套接字并 link 客户端到它是处理器。
客户端和处理器共享一个唯一的哈希值,可用于识别哪个处理器应该为哪个客户端提供服务。
我基本上一直在用Netty HexProxy Example idea, but instead of a client socket, I need another server socket to serve the processor. I was thinking of linking the two by either adding a handler to the other's pipe or doing something similar to Netty SecureChat Example。
通过重新想象我能够解决这个问题的场景。
我没有将客户端视为客户端,将处理器视为服务于特定客户端请求的服务器,而是将两者都视为连接到聊天服务器(中间服务器)的客户端。
通过将 bootstrap 发送到绑定和同步当前未绑定的端口的 HandshakeHandler 来建立任意服务器端口。
它也是 HandshakeHandler,它通过唯一的哈希将客户端和处理器连接到特定的 ChannelGroup,并根据需要为每个通道重新配置通道管道(一旦客户端和处理器之间的握手成功完成,就会自行删除)。