Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django聊天与ajax轮询_Python_Ajax_Django_Comet_Chat - Fatal编程技术网

Python Django聊天与ajax轮询

Python Django聊天与ajax轮询,python,ajax,django,comet,chat,Python,Ajax,Django,Comet,Chat,我需要创建一个类似于facebook聊天的聊天 我正在考虑创建一个简单的应用程序聊天,然后使用ajax轮询(每2-3秒发送一次请求) 这是一种好方法吗?ajax是这里最好的方法 您需要什么: 1) 将返回最近消息的服务器视图 2) 客户端按计时器调用(我更喜欢jQuery及其计时器插件)和成功处理程序,它们将填充聊天窗口我会使用一些由服务器控制的推送/实时消息。你会得到适当的实时聊天,它会扩展得更好。我想,看看哪条路该走。它不是核心django,但它是Python,可以与服务器上的django应

我需要创建一个类似于facebook聊天的聊天

我正在考虑创建一个简单的应用程序聊天,然后使用ajax轮询(每2-3秒发送一次请求)

这是一种好方法吗?

ajax是这里最好的方法

您需要什么: 1) 将返回最近消息的服务器视图
2) 客户端按计时器调用(我更喜欢jQuery及其计时器插件)和成功处理程序,它们将填充聊天窗口

我会使用一些由服务器控制的推送/实时消息。你会得到适当的实时聊天,它会扩展得更好。我想,看看哪条路该走。它不是核心django,但它是Python,可以与服务器上的django应用程序并驾齐驱

Ajax在客户端是一个不错的选择,但是让客户端在计时器上轮询服务器端并不是一件容易的事情。现在有更好的方法来处理后端。@stevejalim:为什么客户投票是一种错误的方法?在我看来,这是非常简单的,可以扩展。。。我不明白。我没有说这在技术上是错误的——只是说更现代的方法会带来更好的结果。如果你有100个用户,每2秒不断地点击服务器说“给我聊天信息”是可以的,但是如果你有1000、10000等用户,你很快就会感到痛苦。使用这样一种方法,客户机在服务器上有一个开放的套接字,并在需要的时候发送内容,这将更好地保持增长。如果您愿意,您可以使用轮询方法(它已经使用多年,而且确实有效),但您询问轮询是否是一种好方法,并且认为现在有更好的方法ways@xRobot对于100个用户来说,轮询对于扩展(stevejalim如此要求)来说确实要简单得多(总共大约20行代码),您可以检查ok,但使用打开的套接字,我需要更多的记忆。。。是否?我的服务器不支持orbited:(缺少什么-Twisted?您的主机不允许您安装吗?如果您ask@xRobot实时聊天之类的东西需要大量的硬件资源。如果使用长轮询或推送方法,推送方法基于保持HTTP连接打开,这将消耗服务器上的内存。长轮询或推送方法ng方法将消耗内存和CPU时间。你肯定需要至少一个512MB内存的VPS,才能让你的应用程序支持合理数量的用户。因此,如果你的主机不允许你安装twisted,很可能它甚至没有为你提供足够的硬资源。请注意:这个答案现在已经过时了除了轨道外,还有很多实时通信选项