首页 新闻 会员 周边 捐助

asp.net实现服务端推送信息至浏览器端

1
悬赏园豆:80 [待解决问题]

最近在做监控的项目,想实现服务端向浏览器端推送实时监控的消息,好像常规的做法是轮询到服务端取数据,但是这种做法存在实时性不高、服务器端压力大的缺陷,不知道有没有实现过采用服务器端推送的方式,跪求指导!

十年何去的主页 十年何去 | 初学一级 | 园豆:120
提问于:2012-02-27 10:14
< >
分享
所有回答(5)
1

客户端与服务器持续同步解析(轮询,comet,WebSocket)中的评论

赌神:

我做体育比分网五年了,以上各种方式方法 我都尝试过了并且部署在生产环境中测试 --

无论是对Browser和Server端的性能、数据即时性要求,个人认为最适合的就是你认为"古老的轮询"方式,即Ajax定时轮询服务器!!!

由于体育比分具有时效性质,例如红牌、犯规等等数据,必须实时同步赛场数据(比电视直播快十秒)。

我是这样设计的 -- 每两秒请求一次服务器update.txt文件,该文件是由服务器数据库的触发器监视数据库的插入、更新事件生成当前的时间戳(例如12973762621这样的数字),而这11个字节用以标识服务器有新的数据,然后客户端比较上一次的请求数字不同,则ajax再请求update.xml文件获取新数据更新...

多年的实践经验、事实告诉我,这种方式无论是对于时下五花八门的浏览器,还是入门级的服务器硬件配置是最适合的!!!

可能你有不同的意见,但建议你在实际项目中用各种方法测试应用,然后观察Browser和Server的开销,再总结一下吧。

dudu | 园豆:30778 (高人七级) | 2012-02-27 10:26
0

使用Comet的方式就好了,实现也挺简单的,Websocket的话,还是太难了,C#里面也不好实现。

az235 | 园豆:8483 (大侠五级) | 2012-02-27 10:41
0

记得在SliverLight中有更好的解决方案,楼主可以查一下。

Astar | 园豆:40805 (高人七级) | 2012-02-27 13:36
1

wcf有个双工实现推送,不知道asp.net下HTTP可不可以实现

alanlau | 园豆:207 (菜鸟二级) | 2012-02-28 22:39
0

前段时间研究了一下goeasy,代码简洁易读,服务稳定。后台推送只需要两行代码, js前端推送也只需要3,4行,而且文档齐全,还提供了后台查询信息收发情况,所以我觉得GoEasy推送服务是个不错的选择。官网: http://goeasy.io/

gongmaolan123 | 园豆:202 (菜鸟二级) | 2016-11-30 15:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册