微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Django 频道将群组限制为一定数量的用户?

如何解决如何使用 Django 频道将群组限制为一定数量的用户?

所以问题基本上是我如何将用户数量限制为两个。我正在构建一个应用程序,我基本上希望一个游戏室最多有两个用户。因此,目前连接通道已添加到组中,但是有没有办法检查组是否已达到 2 个用户然后拒绝 Web 套接字连接?我几乎是频道的初学者和新手,文档似乎没有帮助。

还有办法列出总组用户吗?所以我可以在大厅中显示组名和用户

我还没有尝试实现这一点,因为我不确定如何实现。正如您在下面看到的,我正在按照教程进行了解,并在连接频道时将其添加到组中。但是我希望该小组仅限于两个人。或者一种将通信限制为仅两个客户端的方法。我添加一个 if 语句,并在想也许我应该如何检查 channel_layer 对象,但我不确定这是否是正确的方法

from channels.generic.websocket import AsyncWebsocketConsumer
import json
from channels.layers import get_channel_layer

channel_layer = get_channel_layer()

class ChatRoomConsumer(AsyncWebsocketConsumer):
    async def connect(self):
        self.room_name = self.scope['url_route']['kwargs']['room_name']
        self.room_group_name = 'chat_%s' % self.room_name
        

        if "some logic":
            
            await self.channel_layer.group_add(
                self.room_group_name,self.channel_name
            )


            await self.channel_layer.group_send(
                self.room_group_name,{
                    'type': 'tester_message','tester': 'hello world',}
            )   
            
            await self.accept()
**

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。