我担心客户端会突然失去连接并断开连接,而不会在后端留下任何信息。如果发生这种情况,套接字会保持活动状态吗?
答案 0 :(得分:0)
我在django渠道存储库的一个问题中找到了答案:
使用websocket自动ping定期断言客户端仍连接到套接字,如果没有,则将其断开。如果要尝试,此功能已经在daphne master中提供,并且将在下一版本中提供; ping间隔和考虑到死亡的时间都是可以配置的。这解决了(更常见的)客户端断开连接不干净的问题。
将来自客户端的最后一次看到的操作的时间戳存储在数据库中,然后修剪一段时间以来您从未听说过的操作。这是唯一也不会发送全面断开连接的方法,因为Daphne服务器被杀死了,但是它更加专业,因此Channels无法直接实现它。