我有一个 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-server
withdaphne -p 6379 VideoConference.asgi:application
命令。