Django 频道或定期 ajax 请求?

Posted

技术标签:

【中文标题】Django 频道或定期 ajax 请求?【英文标题】:Django channels or periodic ajax requests? 【发布时间】:2020-11-03 02:15:07 【问题描述】:

需要一些专业提示。我将 django rest 框架 + vue js 用于我的 web 应用程序项目,并开发了一个简单的聊天应用程序。消息通过在客户端每 2 秒发送一次 ajax 请求来动态刷新。我应该保留这个变体还是改用 django 频道更好?

【问题讨论】:

这可能更适合 softwareengineering.stackexchange.com - 堆栈溢出主要用于高度集中的特定问题(通常与代码有关),而不是更广泛的工程选择。祝你好运! 有关 django-channels 与 AJAX 的更多信息,请参阅 ***.com/questions/56913676/… 【参考方案1】:

您可以使用, TL;DR 关于为什么要进行长轮询? websocket 用于双向通信和 HTTP 请求单向通信,一旦请求得到响应就会持续。 您可以使用 django-channels 设置长轮询;如django-channels中指定。 为什么不只是简单地一遍又一遍地使用 HTTP 请求服务器? ans: 对于每个 http 请求,都会进行预处理(可能是身份验证),这会花费不必要的计算能力和时间。

【讨论】:

以上是关于Django 频道或定期 ajax 请求?的主要内容,如果未能解决你的问题,请参考以下文章

使用 jquery、ajax 和 django 定期刷新页面

使用 Django 启动和停止定期后台任务

Perl 和 IRC:定期向频道发送消息

定期HTTP GET请求,而不使用“提交”输入

将数据推送到页面而不定期检查?

Django:通过 websocket 定期发送更新