Django 1.10.5とwebsocketをチャネル1.0.2で使用しています。私はユーザートークンとの接続を開始しています。そのユーザーIDを使用しているすべてのユーザーを切断するようにします。ただし、接続を受け入れる前に実行していても、コマンドはユーザー自身を閉じます。ここでユーザごとにアクティブな接続を1つだけ残してください。
が、私はそれをやった方法は次のとおりです。
def get_group(user):
if isinstance(user, User):
uuid = str(user.uuid)
return Group('user-%s' % uuid)
@channel_session
def websocket_connect(message):
user = CachedOAuth2Authentication().authenticate(socket_messeger=message)
if user:
# Do not use more than one device.
get_group(user).send({"close": True})
message.channel_session['user'] = user
get_group(user).add(message.reply_channel)
message.reply_channel.send({"accept": True})
else:
message.reply_channel.send({"close": True})