我想编写一个流,当它们进来时自动添加新帖子。我不知道如何使用Ajax这样做,因为我必须每秒请求一个脚本来保持更新,这会使我的服务器过载。任何人都可以提供任何解决方案吗?谢谢:))
答案 0 :(得分:2)
超载你的服务器?你确定吗?您计划支持多少个连接?每2秒进行一次,你将流量减少一半,很可能没有人注意到。
否则你正在寻找一些Comet,服务器端推送的风格,与服务器的持久连接。
参考:
Long-lived connections (asynchronous server push) with Apache/PHP/Javascript?
答案 1 :(得分:0)
如果你想要实时更多的东西,你可以尝试XMPP
但是如果你只想要上面的要求那么你可以尝试node.js
答案 2 :(得分:0)
您可以使用流媒体功能
https://github.com/mojolly/jquery.evented_ajax.js#readme
实际上或更好地构建了ajax请求并使用了一些池化技术
http://dev.sencha.com/deploy/ext-4.0-beta2/examples/direct/direct.html
答案 3 :(得分:0)
你想要Comet长期投票。彗星之所以如此命名是因为像阿贾克斯一样,它是洗涤剂的品牌。
Comet充分利用了浏览器可以向服务器发出两个打开请求的事实。其中一个请求用于将数据推送到服务器,例如响应浏览器中发生的UI事件。
另一个连接在“长轮询”中持续连接到服务器。当长轮询连接超时或断开连接时,客户端(浏览器)会自动重新建立连接。
当服务器想要将数据推送到客户端时,它会立即将此数据写入等待的长轮询请求并结束它,从而产生比传统setTimeout()
轮询更具响应性的体验,同时减少开销。
PHP并不适合这个。考虑Nodejs。