关闭选项卡后 Django 频道断开连接

Django channels Disconect after closing the tab

我是 Django 频道的新手,我正在构建一个简单的聊天室。对于这个聊天室,如果用户关闭浏览器选项卡,我想断开用户连接,如果他使用相同的 link 重新打开选项卡,我想将他重新连接到他原来的同一个聊天室。我该怎么做?

为了重新连接到同一个 WebSocket,您只需再次连接到同一个 URL。从客户端(浏览器)端,您可以使用示例 JavaScript 代码:

webSocket = new WebSocket('ws:/localhost:8000/ws/chat/');

服务器端(“后端”,即 Django Channels)在没有客户端连接时关闭连接。

您的意思可能是您想要访问聊天记录,是吗?据我了解,WebSocket 是一种通信协议(在某种意义上类似于 HTTP)。所以它只是用来发送消息,而不是存储它们。无论如何,您应该将消息存储在某个地方,例如,在数据库中。然后,在“重新连接”时,您实际上是通过 views 从数据库中获取消息,或者以不同的方式,使用 consumers.

希望对您有所帮助。你必须为我指定一个具体的场景才能进一步帮助你。