Django分路器信道

channels-demultiplexer的Python项目详细描述


GitHubPyPI releaseDocumentationBuild StatusCoverage

多路复用(2)和djangor

功能

信道解复用器提供了一种标准的方法来在单个websocket上复用不同的数据流。在

它期望JSON格式的WebSocket帧具有两个键,stream和payload(都是可配置的)。它将流与映射进行匹配,以找到使用者,然后转发消息。使用者不需要任何修改就可以插入(de)多路复用器,因此您可以直接将它们挂接到routing.py文件中以及(de)多路复用器中。在

快速启动

使用pip安装:

$ pip install channels-demultiplexer

channels_demultiplexer添加到您的INSTALLED_APPS

^{pr2}$

demultiplexer.py中创建多路复用器:

fromchannels_demultiplexer.demultiplexerimportWebsocketDemultiplexerfrom.consumersimportEchoConsumer,AnotherConsumerclassDemultiplexer(WebsocketDemultiplexer):# Wire your async JSON consumers here: {stream_name: consumer}consumer_classes={"echo":EchoConsumer,"other":AnotherConsumer,}

将解复用器添加到通道路由配置中:

fromchannels.routingimportProtocolTypeRouter,URLRouterfromdjango.conf.urlsimporturlfromdjango.core.asgiimportget_asgi_applicationfrom.demultiplexerimportDemultiplexerapplication=ProtocolTypeRouter({"http":get_asgi_application(),"websocket":URLRouter([url(r"^/$",Demultiplexer.as_asgi()),])})

文件

有关安装和配置的更多信息,请参阅文档:

https://channels-demultiplexer.readthedocs.io/

兼容性

channelschannels_demultiplexer
v3.xlatest
v2.xv1.0.1

问题

如果您在使用应用程序时遇到问题或遇到问题,请报告:

https://github.com/csdenboer/channels-demultiplexer/issues

捐款

最好将提议的变更和pr分成小的、不同的补丁 按类型分类,以便更快地将它们合并到上游并更快地释放:

  • 特点
  • 修正错误
  • 代码样式改进,以及
  • 文件改进。在

所有贡献都需要通过配置的质量门 用CI。这包括成功运行测试和过梁 在当前官方支持的Python和Django版本上。在

测试自动化由Travis CI自动运行,但您可以 在推送提交之前,使用tox命令在本地运行它。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
由于java的原因,maven无法运行代码。lang.NoClassDefFoundError:com/fasterxml/jackson/annotation/JsonMerge   Android项目中的java Creative SDK图像编辑器UI   java如何在Android Studio中使用DataOutputStream上传文件并将其他参数传递到web服务器   java倒计时服务打开时崩溃   java将RubyonRails项目转换为JRubyonRails项目   java我的图库意图是不显示图像?为什么?   java如何在春季启动时跳过mongodb/   java@Autowired在Spring中是如何实现的   甲骨文Akka java。util。同时发生的timeoutexception线程池频繁超时   java maven依赖项对spring启动应用程序有何影响?   java Firestore执行复合查询,未截获事件“已修改”   java ItemStreamException:未能初始化读取器,原因是:IllegalStateException:流已初始化。重新开放前关闭   java将空标记解组到集合的新实例中   使用AspectJ的java新手:无法调用aspect   java查找棋类游戏的所有组合   你为什么要这样做and==与Java中的equals方法不一样吗?   如何对使用JavaUUID的代码进行单元测试?