我要做一个实时性比较高的软件,有聊天功能,iis作为聊天服务器,当两个用户a和B聊天的时候,a-->>b发送一个信息,如果b要实现接收到必须反复读取服务器,即使使用ajax异步的方式也会给iis造成很大负担,据说有一种服务器推送技术(server push),当浏览器向web服务器请求并返回结果完成后,服务器仍然可以随时将新信息推送给浏览器,使浏览器能实时收到服务器返回的http而不必反复间隔时间刷新的方式去读取服务器.asp.net能实现这个吗功能吗,网上相关的信息真是太少太少了

解决方案 »

  1.   

    网上有asp.net的聊天室源码,可以下一个研究一下
      

  2.   

    http://www.15seconds.com/Issue/971102.htm找到一个asp, 不过用的是IIS 4
      

  3.   

    实现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
      

  4.   

    关于sever push,楼主可以试一下Response.Flush()方法的应用,不过这不是正宗的server push技术,楼上的方法才是,不过用Response.Flush()方法相对实现相对简单但是控制复杂
      

  5.   

    http://edu.stuccess.com/knowcenter/NetPRG/Others/00000022.htm看看这个帖 是用php实现的 原理一样
      

  6.   

    我觉得还有一个方法能解决平凡检索数据库问题。我的方法是缓存机制中文件依赖。
    先建立一个空文件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")));
      

  7.   

    实现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
    ======================
    学习了.顶~~
      

  8.   

    利用java服务器+java   applet实现server   push,这个很成熟了
      

  9.   

    server push在.net中的典型体现就是Response.Flush()
      

  10.   

    两个用户a和B聊天的时候,a-->>b发送一个信息,如果b要实现接收到必须反复读取服务器
    ————————————————————————————————————
    a给b发送了一个信息,要实现b收到这个信息:用服务器应该通知b比b反复去检查要好。
      

  11.   

    a给b发送了一个信息,要实现b收到这个信息:“服务器通知b”比“b反复去检查”要好。
      

  12.   

    倒有不少人知道 server push啊
    楼主看看我们公司的效果吧,可能有点慢
    http://quote.ytcj.com/forex1.htm
      

  13.   

    ASP和ASP.NET实现server push差不多,参考一下
    http://asp.shumablog.com/dream/html/ASP/1551.html
      

  14.   

    不错在Server Push,最先进的做法叫做comet,客户端使用AJAX请求连接服务器,但不说没有新的聊天对话服务器就返回空值,而是保持着连接一直不断开,直到有对话消息要返回为止。