ajax - 你会如何在 django 中实现聊天功能?

标签 ajax django chat server-push

如果您要在 Django 中实现聊天(即实时文本对话),您会如何去做?

我对此的想法(请怜悯菜鸟)-
创建一张用于存储存档消息的表和一个用于存储当前消息的表。
并通过使用 JavaScript 每 20 秒查询当前消息表来填充当前聊天。但这感觉非常错误。
一定有更好的方法。我听说过一种叫做推送技术的东西。如何将它与 django 一起使用?
附:我的网站正在 dreamhost 上共享托管。

最佳答案

大多数网络聊天应用程序倾向于使用 Comet 编程。 Comet并不是真正的推送技术,更多的是对其的模拟。首先,comet 有不同的实现,但通常使用池化和 ajax 来重复检查服务器以查看是否有消息。 Comet 通常会导致过多的往返,因此已采取措施寻找更合适的替代方案,例如仅保持连接开放的 Bosh。这实际上可以被认为是真正的插入,而不是 cometd 。下面的 wiki 链接列出了替代方案,但总的来说,我认为 Comet 和 Bosh 是最常用的聊天方法。您甚至可以同时使用这两种方法。这里有一些链接。

关于ajax - 你会如何在 django 中实现聊天功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5813812/

相关文章:

jquery - deferred.done() 是否在 ajaxComplete() 之前触发?

python - 无法在 Django 中本地化 Python HTMLCalendar

python - 如何将 Django 动态页面转换为静态 HTML 文件?

java - 如何停止多线程聊天客户端

android - Quickblox android 推送通知不起作用

javascript - Rails : Tawk. 到聊天插件和 Turbolinks 问题

javascript - 可以在ajax调用中传递html元素

javascript - 如何从ajax加载的html中获取类名和属性

javascript - 验证和 ajax 其中之一不起作用

django - 保存模型时未创建新修订