Maison  >  Article  >  développement back-end  >  实时数据更新有什么思路可以完成?

实时数据更新有什么思路可以完成?

WBOY
WBOYoriginal
2016-06-06 20:51:181239parcourir

比如,实现一块区域专门进行最新留言的展示.. 每次有最新的留言就把它显示在上面..
(比如人人影视右下角的“精彩评论”, 不知道是不是实时的)

再比如,做一个网站,抓取其他网站上的信息,比如租房价格。
但是其他网站上的租房价格的更新并不是定时的。

对于这些实时更新的需求? 有什么思路可以完成?

回复内容:

比如,实现一块区域专门进行最新留言的展示.. 每次有最新的留言就把它显示在上面..
(比如人人影视右下角的“精彩评论”, 不知道是不是实时的)

再比如,做一个网站,抓取其他网站上的信息,比如租房价格。
但是其他网站上的租房价格的更新并不是定时的。

对于这些实时更新的需求? 有什么思路可以完成?

这个需求跟在线聊天类似

  • ajax频繁请求
  • 长轮询

可以看看这篇[文章](http://blog.leezhong.com/tech/2011/03...)

  • websocket (开源swf库可以解决低版本浏览器的兼容,swf需要服务器端的一个授权)

swf开源库:[https://github.com/gimite/web-socket-...](https://github.com/gimite/web-socket-...)
这里我写了段简单的服务器端授权[代码](https://github.com/xiaozi/PolicyServe...)

如果服务端没有要求...node比较好点吧..

socket.io..多种方案,也支持多种浏览器

到现在为止的成熟方案似乎包括tornado, node, erlang, 另外不知道go实现的怎么样, python里面还有一堆gevent, greenlet可以用, twisted也可以考虑. PHP多线程或多进程就别想了.

在产品级别, 已知的比如 www.quora.com 是tornado, gtalk不知道如何实现, 可能是java?
mochimedia应该比较erlang
国内的腾讯阿里什么的就更不知道了, 他们都有做web chat的, zhihu.com也是tornado

http://segmentfault.com/q/10100000001...
我用socket.io解决了实时消息的问题。

Microsoft ASP.NET SignalR

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:PHP怎么把一张图片透明化Article suivant:jrecorder插件问题