首页 > 解决方案 > 多应用网络的最佳方法?

问题描述

我在做一些实验时有一个奇怪的设置。在此设置中,我有 6 个应用程序。我们称它们为A,BC(x4)。

A连接B并监听来自 4 个不同实例的 4 个不同端口C

B在 1 个端口上侦听来自A4 个不同端口的连接,并在 4 个不同的端口上连接C.

每个实例C在一个端口上侦听一个连接B,然后连接到A另一个端口。

这是一个精彩的艺术作品来说明:

在此处输入图像描述

为了管理连接,每个侦听器都NewConnection订阅了相同的处理程序。

收到连接后,我将其添加到List<Connection>.

当在 上接收消息时A,我再次将 1EventHandler DataReceived用于来自不同 C 实例的所有连接。每次引发事件时,数据都会添加到ConcurrentQueue<byte[]>. 此队列由所有连接到A.

目前我只有 4 个C,但如果还有更多呢?我怎样才能设计这个以便n C可以连接到A

另外,对于所有这些连接,我只有 1 个NewConnection和 1 个DataReceived事件处理程序,并且所有进入 A 的数据都进入相同的状态,这可以吗?ConcurrentQueue?

任何有关方法的建议将不胜感激。我不确定这是否是最有效的做事方式。

标签: c#networking

解决方案


推荐阅读