用户
 找回密码
 入住 CI 中国社区
搜索
查看: 8452|回复: 12
收起左侧

[Web] 关于客户留言后台管理页面主动提示的思考

[复制链接]
发表于 2009-2-24 13:50:57 | 显示全部楼层 |阅读模式
本帖最后由 marshuoyi 于 2009-2-24 13:54 编辑

今天群里一哥们问一个问题:客户留言后在后台管理页面主动弹出提示,可以是声音,也可以主动弹出一个提示,或留言的能容,功能估计现在很多地方都会用到,客户付款后也可以用到,实现方法可能很多,说说我的看法
一.管理页面每隔几分钟刷新一下,用ajax,应该不错,这样不影响页面显示,看的舒服,操作后台留言的数据库
二.群里ihao给了个提示,用xml—rpc,思考了下,也不是太好实现,也得请求后台代码,不过可以做个接口

ihao说的这句话不错:
不管是哪个,肯定是针对数据的更改作出反应,无非是用被动轮循或者主动推送。我说的XML-RPC就是由数据更新触发主动推送事件通知

主动推送是如何实现的?
如果你有什么好方法,可以给提示下,我算抛砖引玉吧,不要做的太复杂就行,我新人,请指教
发表于 2009-2-24 16:28:22 | 显示全部楼层
“主动推送”也不可能真正意义上的实现主动推送。主要目的是为了减轻数据库的压力。因为 如果采用方法1,每几分钟读取一次数据库,(如果数据没更新,无谓的增加数据库操作。)  而方法2,形象的说就是数据库更新,触发事件,这里的事件(修改文件也好,增加文件也好)。然后我们不用读取数据库,去看文件是否有变化,就可以知道数据库的变化。就是 数据库操作 转为 文件IO操作  也是种方法。  结论: 主要看你的服务器等其他一些环境,适合做哪种方法。
发表于 2009-2-24 16:33:54 | 显示全部楼层
确实是这样,HTTP 做主动推送基本上是不行的。
也可以用缓存的方式,比如 memcached,也可以减轻数据库的压力。
 楼主| 发表于 2009-2-24 17:25:44 | 显示全部楼层
呵呵,我想知道有没有别的方法呀
发表于 2009-2-24 18:50:05 | 显示全部楼层
这东西基本上只能靠轮询来做,因为服务器无法主动通知你,在 HTTP 协议下。不过有 hack 办法让服务器推数据,但我不喜欢那个方法,呵呵。
发表于 2009-2-25 09:00:44 | 显示全部楼层
主动推送需要Comet,还是用单纯的AJAX刷新比较简单。
发表于 2009-2-25 11:11:48 | 显示全部楼层
HTTP 长连接会造成浏览器进度条一直显示的问题吧?我不太喜欢显示那个破进度条。
发表于 2009-2-25 11:51:24 | 显示全部楼层
http://www.ibm.com/developerworks/cn/web/wa-lo-comet/
这篇文章说了一些方法,确实很棒,也能解决进度条问题,牛!
 楼主| 发表于 2009-2-27 10:52:20 | 显示全部楼层
谢谢建议,研究ing
发表于 2009-2-27 21:26:43 | 显示全部楼层
目前在做的WEBGAME就用了长连接的技术,实现了即时策略的对战系统以及聊天系统
http://www.wcwar.com
:)

本版积分规则