1

我有一个 Django 项目,我正在尝试实现 Redis 通道。当我添加下面的配置时,我的应用程序可以工作。

CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "channels.layers.InMemoryChannelLayer"
    }
}

但是,当我尝试添加以下配置时,aioredis.errors.ProtocolError: Protocol error, got "H" as reply type byte出现错误。

CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "channels_redis.core.RedisChannelLayer",
        "CONFIG": {
            "hosts": [("127.0.0.1", 6379)],
        },
    },
}

这是我的 consumer.py 文件;

class VideoCallSignalConsumer(AsyncWebsocketConsumer):
    async def connect(self):
        self.room_name = self.scope['url_route']['kwargs']['room_name']
        self.room_group_name = 'Test-Room'
        # print(self.scope["user"])

        # Join room group
        await self.channel_layer.group_add(
            self.room_group_name,
            self.channel_name
        )

        await self.accept()

顺便说一句,我正在使用 macOS。我已经用命令安装了 Redisbrew install redis并启动了redis-serverwithdaphne -p 6379 VideoConference.asgi:application命令。

4

0 回答 0