您的位置:首页 > 游戏 > 手游 > 济南优化网络营销_网站和数字界面设计师_网络推广免费网站_中国产品网

济南优化网络营销_网站和数字界面设计师_网络推广免费网站_中国产品网

2024/12/22 17:26:54 来源:https://blog.csdn.net/vener_/article/details/144259619  浏览:    关键词:济南优化网络营销_网站和数字界面设计师_网络推广免费网站_中国产品网
济南优化网络营销_网站和数字界面设计师_网络推广免费网站_中国产品网

前提:consumer中已经写好了建立连接的代码,并且能够成功把连接加入到通道层的组内

可以参考我的另一个博客:

LuckySheet协同编辑后端示例(Django+Channel,Websocket通信)_lucksheet 协同编辑-CSDN博客

我是懒得去折腾luckysheet的源码,所以尽量去把功能在后端实现,但是又需要一些功能来通过点击按钮实现把消息广播出去,所以就在视图函数里进行消息广播,同理在别的任意类型的函数中也可以使用。具体代码如下:
 

from channels.layers import get_channel_layer
import asyncio    def send_message(self):# 获取通道层实例channel_layer = get_channel_layer()async def send_group_message():await channel_layer.group_send("group_name",  # 替换为实际的组名,要和消费者加入的组名对应{"type": "broadcast_message",  # 替换为消费者中处理该消息的对应方法名"message": "Message from the view"})# 运行异步函数来执行消息发送操作loop = asyncio.new_event_loop()asyncio.set_event_loop(loop)try:loop.run_until_complete(send_group_message())finally:loop.close()

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com