>백엔드 개발 >PHP 튜토리얼 >实时数据更新有什么思路可以完成?

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

WBOY
WBOY원래의
2016-06-06 20:51:181280검색

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

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

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

回复内容:

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

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

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

这个需求跟在线聊天类似

  • 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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.