繁体   English   中英

多端口Netty套接字服务器

[英]Multiport Netty Socket Server

我正在尝试使用Netty开发以下用例:

  1. 客户端连接到(端口8900)上的中间服务器。
  2. 客户端将具有配置的处理器请求发送到另一台计算机。
  3. 第三台计算机根据配置启动处理器。
  4. 处理器基于配置中标识的端口(例如,端口8901)连接到启动处理器的同一服务器。
  5. 服务器现在基于两者之间共享的唯一哈希值绑定客户端和处理器。
  6. 为每个新的客户端连接创建新的处理器。

客户端连接不是问题。 我有一个ClientHandler来处理这些请求。 但是我在注册ProcessorHandler时遇到了问题(必须根据从客户端发送的配置动态绑定ProcessorHandler)并使其服务于特定的客户端。

任何帮助将不胜感激,因为我目前对如何从ClientHandler中获取关于处理器配置的发送方法感到困惑,我可以在服务器上启动新的服务器套接字并将客户端链接到其处理器。

客户端和处理器共享唯一的哈希码,该哈希码可用于标识哪个处理器应为哪个客户端提供服务。

我基本上一直在使用Netty HexProxy Example的想法,但是我需要一个服务器套接字来代替处理器,而不是客户端套接字。 我正在考虑通过将处理程序添加到对方的管道或执行类似于Netty SecureChat Example的操作链接两者

通过重新构想场景,我能够解决此问题。

我将客户端视为连接到聊天服务器(中间服务器)的客户端,而不是将客户端视为客户端,将处理器视为服务于特定客户端请求的服务器。

通过将引导程序发送到HandshakeHandler中来建立任意服务器端口,该HandshakeHandler绑定并同步当前未绑定的端口。

也是HandshakeHandler,它通过唯一的哈希将客户端和处理器连接到特定的ChannelGroup中,并根据需要为每个通道重新配置通道管道(一旦Client和Processor之间的握手成功完成,则将其自身删除)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM