不确定“self.room_group_name="..."”应该填入什么以及它是如何工作的。
创始人
2024-12-28 01:00:24
0

在 Django Channels 中,在连接到 WebSocket 后,您可能想要将客户端连接到特定房间组。要创建房间组并将连接器添加到该组,需要在连接器的.as_asgi()方法中执行几个步骤,其中之一是指定房间组的名称。

例如,如果您正在编写一个聊天应用程序,您可以为每个房间组创建一个名称与房间 ID 相关联。在这种情况下,您可以将房间 ID 存储在 WebSocket URL 的路径参数中,然后在.as_asgi()方法中将其提取。

下面是示例代码:

在路由器中包含 url

from channels.routing import ProtocolTypeRouter, URLRouter, ChannelNameRouter from django.urls import path

from chat.consumers import ChatConsumer, AsyncChatConsumer

application = ProtocolTypeRouter({ "websocket": URLRouter([ path('ws/int:room_id', ChatConsumer.as_asgi()) ]), "channel": ChannelNameRouter({ "background-tasks": AsyncChatConsumer.as_asgi() }) })

chat/consumers.py

from channels.generic.websocket import AsyncWebsocketConsumer

class AsyncChatConsumer(AsyncWebsocketConsumer): async def connect(self): await self.accept() self.room_group_name = f"chat_{self.scope['url_route']['kwargs']['room_id']}"

    # 加入房间 group
    await self.channel_layer.group_add(
        self.room_group_name,
        self.channel_name
    )

相关内容

热门资讯

透视实锤!werplan脚本,... 透视实锤!werplan脚本,菠萝德州透视脚本,切实真的有挂(可靠技巧)菠萝德州透视脚本软件透明挂微...
辅助透视!wepoker辅助工... 辅助透视!wepoker辅助工具,其实有挂(透视)靠谱教程(有挂脚本)1、超多福利:超高返利,海量正...
透视存在!佛手在线大菠萝智能辅... 透视存在!佛手在线大菠萝智能辅助器,pokemmo手机辅助软件,竟然是有挂(细节揭秘);1、每一步都...
透视好友!wepoker安装教... 透视好友!wepoker安装教程,从来存在有挂(透视)攻略方法(有挂插件)该软件可以轻松地帮助玩家将...
透视最新!hhpoker是正品... 透视最新!hhpoker是正品吗,确实有挂(透视)教你教程(有挂插件)1、下载好hhpoker是正品...
透视安装!德普之星透视免费,起... 透视安装!德普之星透视免费,起初存在有挂(透视)插件教程(有挂详情)运德普之星透视免费辅助工具,进入...
透视代打!wepoker到底有... 透视代打!wepoker到底有没有透视,果然是真的有挂(透视)科技教程(有挂细节)1)wepoker...
透视安装!wepokerplu... 透视安装!wepokerplus透视脚本免费,从来真的是有挂(透视)2025新版总结(有挂规律);进...
透视透视挂!wpk软件是正规的... 透视透视挂!wpk软件是正规的吗,本来是有挂(透视)2025教程(有挂规律);一、wpk软件是正规的...
透视黑科技!wepoker免费... 透视黑科技!wepoker免费透视,先前是有挂(透视)2025新版技巧(有挂脚本);1、实时wepo...