以前我一直用定时刷新这种方法,根据数据库里面的数据变化来加载聊天记录,但是我觉得效果不好,用户体验也不好所以我在想,怎么实现真正的实时聊天呢!网上查了一下,说是用ActiveX控件的挺多的,还有人说用TCP或UDP协议,我不是很懂1.首先我想知道实现实时通信的原理,这样的话可以自己试着开发一下(我不太想用别人的东西)2.如果是用ActiveX控件、TCP或UDP协议开发的,那么我想要这方面的学习资料
希望各位大虾可以帮帮忙~~~~

解决方案 »

  1.   

    可以研究一下System.Net.Sockets.Socket
      

  2.   

    没有请求就不会有响应,客户端发起了请求服务器才会有响应
    AJAX轮询
      

  3.   

    这个原理说的也太笼统了吧,能不能说的具体点;
    我以前用的是AJAX,觉得效果不好,老感觉页面刷一下刷一下的
      

  4.   

    客户端如果没有对应的ActiveX插件,看来也只有Ajax效果比较好了。ajax看楼主怎么用了,如果直接用.net的ajax框架套进去,
    对付这样的效果不是很好的,而且效率不够。想要感觉好,看看下面的思路对你有米有帮助吧:ajax定时刷新获取服务器的资料,但是注意,不获取重复的数据,而是获取刚刷新的数据,让后在页面上使用javascript追加显示,而不是替换原来的。
    张3:你好,在吗?
    李4:在啊,有事吗?如果张3这时候又说话:张:有个问题请教!就不是从服务器获取全文了,
    而是只获取最新的那一条,
    追加到原先聊天的记录里。
      

  5.   

    那我想问一下,用TCP或UDP协议怎么做,怎么样自己开发这样的ActiveX插件
      

  6.   

    因为用AJAX的话,始终避免不了定时刷新,感觉这样效率上会有所降低
      

  7.   

    可以考虑服务器推技术 不过asp.net关于这块的资料不多
    以前看过点 使用隐藏iframe来保持长连接 没试过 也不知道行不行
      

  8.   

    其实我认为像那些ACTIVEX的那些控件主要是C++做的。我是这样认为的。TCP 和UDP这方面的协议的话!网上都有的。不过还是要用C++然后做成.DLL文件。在ASP.NET 2005中药使用的话!可以选择项。添加。你知道的
      

  9.   

    再次补充!LZ如果想深入浅出的了解AJAX真正的秘密的话!还如果想自己开发控件的话。那么我严重建议:去深入了解AJAX底层原理开发。比如xmlhttprequest等等要好好的了解一下。因为你只是知其所以然。尔不只为何之所以然。。所以你才下不了手!这是你的根本的毛病。
    虽然我也是这样。。^_^!...
    所以我觉得TCP和UDP这方面你是不必要深入研究的我提的建议:是浪费时间。你还是好好的研究一下ajax底层的\(^o^)/~~你这疯子还不快快去o(╯□╰)o!
     
      

  10.   

    C#和java都有相关的类的,没必要用C++,至于AJAX的原理,我想我会弄清楚的
    谢谢大家的回帖,对我还是有一定的启发的结贴