如何计算 django 频道组中有多少客户端

Han*_*gon 5 django websocket channels django-channels

例如,我想知道如何计算 Django 频道组中的客户端数量,以限制连接的客户端数量。

我试图查看 Group 对象的代码,但没有成功。

这是我的代码:

import re
import json
from channels import Group
from channels.sessions import channel_session
from login import login


@channel_session
def ws_connect(message):

    print "Connected"


    if Group("guis").count() > 10: # NOT POSSIBLE

        Group("guis").add(message.reply_channel)
        message.reply_channel.send({'accept': True})

    else:
        message.reply_channel.send({'accept': True})
Run Code Online (Sandbox Code Playgroud)

feu*_*177 2

我稍微挖掘了一下源代码并找到了该group_channels方法。尝试:

len(Group('guis').channel_layer.group_channels('guis'))
Run Code Online (Sandbox Code Playgroud)

我不知道这是否是正确的方法,或者它是否适用于所有后端,但至少这是一个起点。