如何实现服务器推送技术
我要做一个实时性比较高的软件,有聊天功能,iis作为聊天服务器,当两个用户a和B聊天的时候,a--> > b发送一个信息,如果b要实现接收到必须反复读取服务器,即使使用ajax异步的方式也会给iis造成很大负担,据说有一种服务器推送技术(server push),当浏览器向web服务器请求并返回结果完成后,服务器仍然可以随时将新信息推送给浏览器,使浏览器能实时收到服务器返回的http而不必反复间隔时间刷新的方式去读取服务器.
asp.net能实现这个吗功能吗,网上相关的信息真是太少太少了
[解决办法]
up
[解决办法]
实现Server push技术非常简单。Server push在服务器的CGI脚本声明HTML文档类型时,把传统的content-type:text/html改为content-type:multipart/x-mixed-replace;boundary=BOUNDARY这样的文档类型,就会反馈给用户一个Server push类型的连接。这是Server push和Client pull的根本区别。如果CGI脚本中提供了这样的HTML文档头,服务器在处理客户机请求调用CGI脚本程序时,就会把CGI脚本中指定的数据强行推给客户机。
Server push在生成页面时会采用很多的技巧来处理用户端浏览器页面的生成。主程序和传统方式没有本质的区别,但记得在脚本中加入print“Content-Type:multipart/x-mixed-replace;boundary=BOUNDARY
[解决办法]
关于sever push,楼主可以试一下Response.Flush()方法的应用,不过这不是正宗的server push技术,楼上的方法才是,不过用Response.Flush()方法相对实现相对简单但是控制复杂
[解决办法]
http://edu.stuccess.com/knowcenter/NetPRG/Others/00000022.htm
看看这个帖 是用php实现的 原理一样
[解决办法]
我觉得还有一个方法能解决平凡检索数据库问题。
我的方法是缓存机制中文件依赖。
先建立一个空文件B,在A发送信息给B后,使用触发器重写文件B(exec xp_cmdShell 'echo aa> > d:\cache\b.txt '),B用户定时检查b.txt。如果b.txt有变化了,则读取数据库取得信息内容。
Cache.Insert( "dsInfo ",ds,new Caching.CacheDependency(Server.Mappath( "b.txt ")));
[解决办法]
实现Server push技术非常简单。Server push在服务器的CGI脚本声明HTML文档类型时,把传统的content-type:text/html改为content-type:multipart/x-mixed-replace;boundary=BOUNDARY这样的文档类型,就会反馈给用户一个Server push类型的连接。这是Server push和Client pull的根本区别。如果CGI脚本中提供了这样的HTML文档头,服务器在处理客户机请求调用CGI脚本程序时,就会把CGI脚本中指定的数据强行推给客户机。
Server push在生成页面时会采用很多的技巧来处理用户端浏览器页面的生成。主程序和传统方式没有本质的区别,但记得在脚本中加入print“Content-Type:multipart/x-mixed-replace;boundary=BOUNDARY
======================
学习了.顶~~
[解决办法]
两个用户a和B聊天的时候,a--> > b发送一个信息,如果b要实现接收到必须反复读取服务器
————————————————————————————————————
a给b发送了一个信息,要实现b收到这个信息:用服务器应该通知b比b反复去检查要好。
[解决办法]
倒有不少人知道 server push啊
楼主看看我们公司的效果吧,可能有点慢
http://quote.ytcj.com/forex1.htm
[解决办法]
ASP和ASP.NET实现server push差不多,参考一下
http://asp.shumablog.com/dream/html/ASP/1551.html
[解决办法]
不错在Server Push,最先进的做法叫做comet,客户端使用AJAX请求连接服务器,但不说没有新的聊天对话服务器就返回空值,而是保持着连接一直不断开,直到有对话消息要返回为止。