聊天套接字(Web套接字)是否意外关闭(Django通道)?

时间:2019-06-28 04:47:35

标签: django django-channels channels

console image

我已经按照docs(channels)中所述进行了工作,直到我将channel_layers的代码粘贴到settings.py中为止。

我安装了channel_layers中提到的所有规范

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

为什么我的chat_server意外关闭

3 个答案:

答案 0 :(得分:0)

首先检查Wheather Redis是否在您的计算机中运行。

如果不是google,您会发现。

->检查以下几点是否正确:

1。检查您发送到套接字的数据是否为字符串格式。

2。检查要发送到套接字的json是否正确解析。

3。同样,检查从套接字接收的数据是否正确解析。

  

如果要自动重新连接到套接字,请使用    https://github.com/joewalnes/reconnecting-websocket将js文件复制到此处,并将脚本放入html中,然后将WebSocket替换为ReconnectingWebSocket

答案 1 :(得分:0)

此问题是由于在设置中进行配置后,reddis通道无法在后端工作。py,您应该启动reddis通道

如果您使用的是docker,请尝试

docker run -p 6379:6379 -d redis:5

答案 2 :(得分:0)

如果您的Django频道存在连接问题,

首次安装频道-> pip install -U频道 安装频道后,在您的setting.py文件中添加“ channels”安装应用,并按照以下文档在您的django项目中正确安装频道 -> https://channels.readthedocs.io/en/latest/installation.html

在安装django频道后,现在在django项目中安装频道-redis,

第一步是在本地计算机上安装Redis,但要安装Redis 5或更高版本 按照安装步骤在Ubuntu中安装Redis服务器,如果使用Windows,则直接下载Redis。 下载以及此链接中的安装步骤-> https://redis.io/download

在本地计算机上重新安装Redis之后,在Django项目中安装频道-redis ->点安装频道-redis == 2.4.2

这是Redis与Django通道连接问题的最新解决方案,希望对您有帮助