繁体   English   中英

jQuery服务器端使用Ajax推送

[英]jQuery server side push with ajax

我正在建立一个社交网络,我希望它能像Facebook一样流畅。
就像您在控制台中查看日志一样,它并不会一直通过ajax调用进行更新。

在我的网站上,我必须加载:通知(新通知的数量和通知本身),朋友请求(与通知相同),在线朋友(如果有在线则将加载在线用户的图片。)多数民众赞成在6每10秒钟加载一次的ajax调用。 这会造成巨大的带宽浪费和服务器请求。

因此,我想,如果SERVER告诉CLIENT何时有新更新,而不是CLIENT每10秒询问SERVER怎么办?

我已经用谷歌搜索了这个问题,并阅读了有关ajax push和一个称为Comet的框架的信息。 我只是似乎找不到任何有关如何在jQuery上实现此信息。

我简短地看着彗星。 它似乎是雄心勃勃的,实验性的,不会在任何旧服务器上运行。

据我了解,Comet并没有真正推动,但会执行称为“长时间轮询”的操作,在这里我不会尝试描述。 网络上已经有关于该主题的好文章。

就我个人而言,我会坚持当前的计划(传统的AJAX),但进行一次通用调用,将所有必需的数据打包到一个对象中并以JSON编码。 这会将6个请求减少到一个(每10秒)。

您可以通过在返回的对象内返回null来获取未更改的信息,从而使每个响应的长度最小化,从而实现盒式分割。

据我所知,您必须在Web服务器上进行重大修改才能使此功能正常工作。 另外,服务器端php并不是一个很好的选择。

有人已经在这里问过类似的问题: 在PHP中使用Comet吗?

您也可以在node.js上尝试socket.io。 它非常适合实时通信http://socket.io/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM