我正在创建一个需要实时通知系统的Web应用程序.如何设置我的服务器从mySQL数据库中提取数据,然后将其推送到浏览器.我完全不知道该怎么做.如果有人可以提供帮助,我们将不胜感激!非常感谢!
编辑:我应该更具体,我正在拉动数据,因为在XYZ最近创建了一个帐户,XZY最近...非常感谢!
The*_*eOx 13
您无法将数据推送到浏览器,但您可以执行的操作是设置网页以每隔几秒轮询一次服务器以获取更新.示例设置将是:
在您的网站内,每隔几秒就有一个在计时器上运行的javascript函数(或者适合您情况的任何时间间隔).
在页面加载时启动该计时器.
该javascript函数调用Web服务器上的Web服务的AJAX调用(更多内容在一秒钟内).
在服务器端,您需要某种跟踪这些事件的系统,并将它们存储在某个地方,例如带有时间戳的数据库表中.因此,例如,当XYZ创建一个帐户时,该帐户将记录在数据库中的此"事件"表中.
然后,由AJAX调用调用的Web服务将在该表上运行查询并检索自上次调用以来的所有条目.然后只需使用这些结果更新网页即可.
它显然不是100%"实时",因为根据你在JS计时器中设置的时间间隔会有一个小的延迟,但它非常接近.
小智 7
您可以使用websockets为您的网站创建推送通知服务,并为不支持websockets的浏览器提供长时间的轮询回退.这确实需要大量的技术/编程知识.
一些很好的资源是:http: //socket.io(它使用node.js后端作为Web套接字并处理降级) http://pusherapp.com(商业解决方案,如果你不想滚动和维护自己的服务)
对于支持websockets的浏览器列表,您可以搜索"caniuse" - 它提供了浏览器版本支持的功能的详细信息
注意:对于像Facebook这样的数百万用户应用程序,我认为他们已经权衡了为5000多万个并发用户运行websockets的优势,并得出结论,在连接到数百万个套接字的所有节点上保持数据一致性太大.我可以想象,在套接字系统上执行此操作而不是基本操作类似sql的基础结构将是一个逻辑上的噩梦.我不能代表他们发言,这只是我的假设.但是,最近有多少网站使用推送和轮询系统,你会感到惊讶:)
| 归档时间: |
|
| 查看次数: |
11732 次 |
| 最近记录: |