后台实时上传数据至前台页面

请教各位,现在后台程序会实时接收到一些数据,现在想把这些接收到的数据在前台页面实时显示,请问有什么好的解决方法,如果有的话,麻烦说下大概的流程,非常感谢!

6个回答

可以使用Ajax长连接的技术实现。
Ajax长连接模式,它的刷新是根据数据来执行的,如果有新数据返回,接收并解析显示数据,然后发起新的Ajax请求,如果一段时间内,用户没有操作,则连接处于睡眠状态,一直等待有用户输入或者请求超时,然后发起下个Ajax请求。这样做的好处是,每个消息都会即时推送到客户端,延迟极少;另外每次请求都是有意义的,与短连接对比,效率要高很多。但对于一个用户量很多,并且操作非常频繁的网站,长连接模式也会出现过于频繁的刷新问题。目前IE对于HTTP连接数是有限制的,每个网页只能同时进行两个长连接,第三个长连接会被阻塞。
具体可参考以下帖子内容:

http://www.itlearner.com/article/4844

shuaijie506
shuaijie506 有两种可能: 1.URL写错了 2.后台配置文件配置错误,不能进入到相应的方法
接近 7 年之前 回复
cyshooter
cyshooter 嗯 非常感谢,现在用dwr3实现的时候,刷新页面总是提示没有收到服务端数据。然后在控制台看打印信息,也没有进入相应的run方法,请问大概会是什么原因。
接近 7 年之前 回复

能想到的就是,页面定时往后台发送Ajax请求,拿到最新的数据后,把数据实时展现出来.不过这样很耗资源,人一多就悲剧了.

cyshooter
cyshooter 谢谢,就是不太想使用查询模式,因为后台读数据消耗资源比较多
接近 7 年之前 回复
iteye_171
iteye_171 嗯,这种方式可行。
接近 7 年之前 回复

可以使用推送技术,也就是长连接的方式,这样可以确保数据的实时性,后台一旦有数据,前台立马显示。

zhouhua0104
想成为工程师的码农 我的博客里有一个简单的dwr实现的例子,你可以看看,对你有没有帮助
接近 7 年之前 回复
cyshooter
cyshooter 额,不好意思,不是没有进入调用推送数据的函数,是没有进入后面的run方法。
接近 7 年之前 回复
cyshooter
cyshooter 嗯,非常感谢,现在就是用DWR3在实现。可是每次刷新页面的时候,总是提示没有收到服务器的数据信息,看控制台的打印信息,都没有调用推送数据的函数,请问会是什么原因。
接近 7 年之前 回复
zhouhua0104
想成为工程师的码农 但是长连接数量不要太多,建议不要超过两个,可以使用DWR实现推送
接近 7 年之前 回复

就我本人接触的项目,一般情况采用的方式:
1、ajax方式,该方式实现方法,在页面通过定时刷新的js调用后台的方法,从而在后台拼装数据,在success中处理,在页面进行展示。但是该方式对浏览器的资源消耗比较大。假如用户长期停留在该页面的话,需要尽量控制浏览器所占资源,不然该页面迟早崩溃;
2、Flex方式,该方式采用后台推技术。该技术的定时器主要通过flex内部通道实现。flex主动请求数据,之后直接在页面显示。该方式主要依赖flashPlayer的支持。
所以,具体选择哪一种就看你的业务需要了。

piggachen
piggachen 这两种方式都是实现页面实时刷新的啊?
接近 7 年之前 回复
cyshooter
cyshooter 非常谢谢,还是想以实时方式来做
接近 7 年之前 回复

node.js + websocket-server 实现后台推送

cyshooter
cyshooter 谢谢你的回复
接近 7 年之前 回复

看这个问题:
传送门:
[url]http://www.iteye.com/problems/91410[/url]

cyshooter
cyshooter 非常感谢!!
接近 7 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!