Django Channels 2 像 Channels 1 一样实现 Multiplexer/Demultiplexer
Django Channels 2 implementing Multiplexer/Demultiplexer like Channels 1
除非我遗漏了什么,否则似乎没有像我们在通道 1 中那样在通道 2 中多路复用单个通道的开箱即用解决方案。
我的理解是频道 1 中的 3 个消费者由一个 multiplexer/channel 服务,在频道 2 中没有类似的东西。
第一个选择是我宁愿不触及客户端代码并模仿多路复用器,除非这看起来是错误的。
其他选项(我认为从我在频道 2 中的初始读数来看)是我只有 3 个端点作为 websocket URL 路由并更改客户端代码以使用使用这些路由的多个 websockets。
这两个都是可行的选择吗?哪个最有意义?
或者我可能遗漏了一些明显的东西,如果我有 50 条路线我需要 50 个消费者,这是否意味着客户端需要 50 个 websockets?
是的,目前没有用于通道 2 和 issue is still open. However, you can use a separate package linked in the issue called channelsmultiplexer 的解复用器。我已经使用过它,它为获得项目 运行 所需的通道 2 提供了一个最小的 multiplexing/demultiplexing 机制。虽然我不得不对我使用的那个做一些修改和定制,但你仍然可以按原样使用这个包
除非我遗漏了什么,否则似乎没有像我们在通道 1 中那样在通道 2 中多路复用单个通道的开箱即用解决方案。
我的理解是频道 1 中的 3 个消费者由一个 multiplexer/channel 服务,在频道 2 中没有类似的东西。
第一个选择是我宁愿不触及客户端代码并模仿多路复用器,除非这看起来是错误的。
其他选项(我认为从我在频道 2 中的初始读数来看)是我只有 3 个端点作为 websocket URL 路由并更改客户端代码以使用使用这些路由的多个 websockets。
这两个都是可行的选择吗?哪个最有意义?
或者我可能遗漏了一些明显的东西,如果我有 50 条路线我需要 50 个消费者,这是否意味着客户端需要 50 个 websockets?
是的,目前没有用于通道 2 和 issue is still open. However, you can use a separate package linked in the issue called channelsmultiplexer 的解复用器。我已经使用过它,它为获得项目 运行 所需的通道 2 提供了一个最小的 multiplexing/demultiplexing 机制。虽然我不得不对我使用的那个做一些修改和定制,但你仍然可以按原样使用这个包