django - 当与客户端没有连接时,有没有办法持续更新服务器端数据?
问题描述
我正在创建一个实时浏览器多人游戏,您可以在其中移动小队在全球范围内,您可以与附近的其他小队作战。
我正在使用 django 框架,我将使用 django-channels,它使用 webSockets 进行实时通知。
在数据库中每个小队都有它在经纬度健康、道德方面的位置。
问题是,当您移动一个小队并且用户关闭浏览器时,我如何才能不断更新该小队位置以开始与可能的附近小队进行交互。
例如,我想将我的小队从 A 移动到 C,这需要 6 个小时,所以我在 30 分钟后断开连接(关闭浏览器)。但是 4 小时后,我的小队在 B 遇到了一个敌方小队,一场战斗应该开始更新我的敌方小队属性(健康、道德、小队停止)。
在没有用户推送数据(POST、GET、WebSocket)并触发数据库更改的情况下,我如何继续更新我的小队位置。
我带来了长轮询:每 x 次发出请求(由于移动缓慢,因此不需要非常频繁)。但是为此,我需要使用单独的“轮询服务器”或进程吗?
解决方案
推荐阅读
- r - Multiple scatter plots in a single figure from multiple data frame in R using ggplot?
- excel - 尝试将范围转换为数组时如何解决“公式中使用的值是错误的数据类型”错误?
- javascript - 如何使用拓扑图处理 Cytoscape.js 画布上的鼠标滚动和按键事件
- html - incorrect table rendering in FireFox
- php - 密码验证选项以检查 php 中的错误
- jquery - Plupload: how to remove yellow highlight on delete event
- javascript - jQuery deferreds 的使用不会延迟函数的执行
- powershell - SFX installer fails to run powershell script after powershell window is opened
- perl - perl结构nxn中的排序元素
- c++ - 重新排序排序数组以对另一个数组进行排名相关