0

背景:我有一个系统,通常每个用户都通过长时间运行的 TCP 连接连接到服务器。每个用户都有自己的私钥,用于通过此 TCP 连接连接到服务器。当用户向服务器发送消息时,服务器会通过活动 TCP 连接将该消息广播回部分或所有其他用户。

问题:对于其中一些用户,我们希望他们能够通过多播与服务器通信,因此我为此构建了一个多播<-> TCP 代理服务器(我们不控制原始服务器的代码,因此无法对其进行编辑以处理多播流量)。该代理将通过组播与用户通信,并通过 TCP 连接与服务器通信。对于向代理发送消息的每个用户,代理应该与服务器建立单独的 TCP 连接,该连接使用该最终用户的私钥连接到服务器。我正在尝试在 Spring Integration 中设置这些通信流,但我正在努力弄清楚这种设置在这个框架中是否可行,或者我是否最好为此目的编写一些自定义的东西。

现在,我正在努力解决的最大问题是 TCP 方面。从概念上讲,在用户->服务器部分,我有一个多播接收器适配器,它分支为两个流,一个用于使用多播消息中接收到的信息创建新连接,另一个用于沿已创建的连接发送数据。有没有办法在一个流中创建这些 TCP 连接,然后以某种方式保留该连接信息以供另一个流使用?这些已建立的连接也需要用于在服务器->用户端接收消息。我正在努力找出在框架内完成此任务的正确方法。

如果我可以提供任何有助于回答这个问题的其他信息,请告诉我,我知道这是我试图在这里解决的一个非常奇怪的情况。

4

0 回答 0