django渠道如何知道客户端已断开连接?

时间:2019-08-02 19:52:37

标签: django websocket django-channels

我担心客户端会突然失去连接并断开连接,而不会在后端留下任何信息。如果发生这种情况,套接字会保持活动状态吗?

1 个答案:

答案 0 :(得分:0)

我在django渠道存储库的一个问题中找到了答案:

  
      
  • 使用websocket自动ping定期断言客户端仍连接到套接字,如果没有,则将其断开。如果要尝试,此功能已经在daphne master中提供,并且将在下一版本中提供; ping间隔和考虑到死亡的时间都是可以配置的。这解决了(更常见的)客户端断开连接不干净的问题。

  •   
  • 将来自客户端的最后一次看到的操作的时间戳存储在数据库中,然后修剪一段时间以来您从未听说过的操作。这是唯一也不会发送全面断开连接的方法,因为Daphne服务器被杀死了,但是它更加专业,因此Channels无法直接实现它。

  •   

Link to the issue on github