AJAX轮询与WebSockets移动性能

AJAX轮询与WebSockets移动性能,ajax,django,websocket,long-polling,Ajax,Django,Websocket,Long Polling,我目前正在Django开发一个站点,我想为它实现某种准实时更新系统 因为这个站点是为移动设备设计的,所以我想知道定期轮询服务器进行更改(比如每5秒一次)和使用某种Websocket实现之间的性能比较是什么 关于电池寿命,差异是否可以忽略不计?就代码而言,AJAX实现似乎也会更简单 电池方面,我认为两者都不会有太大区别。不过我会使用socket.io,因为您只使用socket.io,它会尝试使用websockets,如果浏览器不支持websockets,则返回ajax请求,答案是“视情况而定”。如

我目前正在Django开发一个站点,我想为它实现某种准实时更新系统

因为这个站点是为移动设备设计的,所以我想知道定期轮询服务器进行更改(比如每5秒一次)和使用某种Websocket实现之间的性能比较是什么


关于电池寿命,差异是否可以忽略不计?就代码而言,AJAX实现似乎也会更简单

电池方面,我认为两者都不会有太大区别。不过我会使用socket.io,因为您只使用socket.io,它会尝试使用websockets,如果浏览器不支持websockets,则返回ajax请求,答案是“视情况而定”。如果您的目标是一个具有已知良好websockets实现的移动设备,那么就这样做。目前,可能只有iPhone/iPad配备了iOS4.2或更高版本,可能实现得很好

对其他人来说,你无论如何都要做民意调查,所以我要说的是沿着这条路线走


我已经做过几项近乎实时的服务(您可能还想研究一下“comet”风格的ajax,您可以从客户端打开一个连接,并让它保持一段相当长的时间(30秒左右),这样服务器可以在事件发生时立即发送响应。如果在这30秒内什么也没有发生,服务器只发送一个响应“什么也没发生"响应时,客户端不会更改任何内容,并再次将其请求发送到服务器。Socket.io会在客户端中断后立即断开websocket连接,因此存在持续通信。我不得不猜测,与间歇轮询相比,保持持续通信将使用更多资源,从而延长电池寿命使用comet风格的ajax是否需要一个额外的服务器,与为站点提供服务的服务器并行运行?