所以我需要开发一个消息传递墙。
这意味着我有一个用户也可以发布数据的页面,例如他们可以发布"你好,你好吗?"。然后将提交给所有相关用户......
我目前设置的方式如下:
用户访问页面,运行一个函数从数据库中提取所有当前的墙消息并使用AJAX调用在屏幕上显示...通过jQuery,我然后使用set_interval函数在每个上面运行相同的函数1秒。这样消息窗口上的信息是最新的。同样,如果用户将某些内容发布到墙上,则会调用相同的更新功能。
这样一切都是最新的,或者最多只能保持最新的1秒钟。
所以我确定你们大多数人都在思考,问题是什么?问题是服务器每1秒钟会收到一个请求,对于消息页面上的每个用户只要它们在消息页面上。因此,它会给服务器增加一些不必要的压力。
当消息墙有任何变化时,有没有办法让服务器通知用户,而不是当前系统?
答案 0 :(得分:0)
当您需要保持长时间的用户连接以立即通知他事件时,您可能需要一些异步方法。他们将使用websockets。
在python中,您可以选择Tornado。
在客户端,最佳选择之一是SockJS。
此外,Tornado可以处理异步任务,其他网站也可以使用django。在这种情况下,您需要实现龙卷风和Django之间的通信。可以使用队列来完成。
看看centrifuge项目。该项目使用Tornado,SockJS。