最近看见很多这样的帖子,说是WEBIM,客服系统等等,本人也关心的上去看了看,第1眼感觉就是这个世界在疯狂的刷新.ajax webim:
    这个大家并不陌生,首先利用xmlhttpresquest开发的WEBIM本质跟留言版一样.其区别仅仅在于刷新频率比较快而已.但是你能保证双向通信吗?答案是肯定的.当初我也曾经尝试使用ajax来开发即时通讯,但是测试通不过,中午吃饭的时间回来一看浏览器,居然卡死了.不可否认的是,这能完成工作任务.但是作为技术来讲的话,这个方案是不行的.客服系统:
    首先,大家需要确认的一点就是:客服系统,它是一个独立的系统,和网站是分开的.它分3部分组成:WEB客户端,客服端和通信服务.
    WEB客户端:这个大家都很明白,它是嵌入试的,它被嵌在每个产品页面中,甚至整个网站的每一个页面中.像掏宝和拍拍的产品页中都有这样的嵌入,只不过它启动的对象不同.
    客服端:往往客服端一般的表现形式都是基于C/S模式的.为什么呢?因为客服端需要处理更多更繁杂的业务.它需要表现出来的功能完全要比WEB端要多的多,比如:对订单的处理,客户的咨询解答,发大量的文字资料(存储在数据库中),客户转交等等一系列复杂的业务处理.有人会说采用B/S模式也可以,对没错,是可以.但是客服需要的是更专业的服务,在没有客户的时候,客服也需要做其他的工作.那么就需要更方便的客服端了.而不是我必须订着浏览器不放.比如说:客服端托盘,有消息则冒泡等等操作.
    通信服务:这个服务是专门建立前两者之间的通信通道的,而不是通过ajax频繁刷新来建立通道的.它的作用在于监听和复杂的消息处理.WEBIM就不多谈了,原理其实是一样.不过它并没有C/S端,WEB+Server+WEB.当然也可以和QQ一样b/s,c/s都有,都能互通.那就关键在于你的Server处理了.下面一些优缺点对比:
        AjaxIM    SocketIM
互通性:  被动       主动
复杂度:   YES        NO  
扩展性:   低         高
维护性:   低         高
对比结果很明显,在OCP原则中ajaxim是抽象和实现都得改,是一条线的往下加,而SocketIM不同只需要增加新的业务规则.针对以前所定义好的抽象是不需要再改动的.废话不多说了,有图有真相:
代码实现就不讲了,没这个必要.多看看书.
源码下载

解决方案 »

  1.   

    对于SocketIM一窍不通.只做过ajax的.前端代码什么时候整理好?
      

  2.   

    同样的IMhttp://www.msn2web.com
    一个实时的网页版本msn , 让你用网页上msn
      

  3.   

    答案是肯定的.当初我也曾经尝试使用ajax来开发即时通讯,但是测试通不过,中午吃饭的时间回来一看浏览器,居然卡死了.不可否认的是,这能完成工作任务.但是作为技术来讲的话,这个方案是不行的. 双向通信是可以的, 但是单纯靠web 比较困难
      

  4.   

    我向大家介绍一下我的小站,一个网页版本的msn的实现。 它可以帮助你在上班的时候,自由的使用
    msn. 而且这个软件的windows 版本 会在我的网站提供下载。目前只是进行安全测试和压力测试,所以如果出现问题,敬请谅解。我预计在服务器正常运行一段时间以后就提供相应的版本下载。 这个周期需要测试的结果来定。 
    关于安全方面,服务器在设计的时候已经在安全上做了最大限度的控制,但是自身水平限制,失误往往难免。
    如果有人发现有任何安全问题 可以直接联系我。 谢谢
    最后我发布一下 网址
    http://www.msn2web.com论坛
    http://www.msn2web.com:8080有任何问题我都会做出相应的解答。email:  [email protected]
      

  5.   

    学习一下,楼主的界面怎么好象WebQQ似的,难道是其开发人员?
      

  6.   

    使用什么进行底层通讯?是自己开发ActiveX控件么?
      

  7.   


    发生ie卡死,应该是代码的问题了,跟你使用了ajax无关。楼主详细说一下你的通信机制吗?如何实现?
      

  8.   


    强烈支持楼主啊,很好的东东啊。
    那个web版的msn高手要是和lz一样共享代码那就是太棒了啊。
    支持lz
      

  9.   


    这个嘛,是从WEBQQ挖下来的界面。
      

  10.   


    我就用纯 Ajax 开发的,放一天都没问题。
      

  11.   

    我来了。 公布的事情 我已经做过一次了,在csdn的下载里面有过,现在仍然可以下载到,是老的版本。
    可惜都快1年了,没什么人感兴趣。至于开源,我对开源有自己的看法。
      

  12.   


    代码早就在上面了。我看了下你的MSN。  没有跟MS的 MSN 链接嘛。AJAX?
      

  13.   


    至于代码var getrsaurl = "rsa.aspx?"; // 获取rsa公钥的网址
    var freshurl  = "fresh.aspx?"; // 普通刷新的网页
    var loginurl  = "login.aspx?"; // 提交用户名口令的网页你该看看是否合适使用aspx
      

  14.   

    “双向通讯”?是在你们公司同一个部门的办公室里测试出来的吧?!世界上有一个伟大的公司开发了了一个伟大的产品:Skype,就是它也不敢随便乱说什么“双向通讯”。这是因为它是在一个真实的互联网环境上测试出来的技术需求,而不是在一个小公司的小型办公区网段内不测试出来的技术需求。在真实的互联网环境下,你有多大把握从任意一个网段的外部联通网段内部的任意一台电脑?
      

  15.   


    Skype 有WEB?我知道你所说的是指NAT打洞。P2P模式或者是服务器中转方式。但是WEB需要NAT么?浑然是两种模式,而且WEB 通过flash socket 指定服务器IP 仍然不需要NAT,但是得注意的是flash沙箱。NAT一般用于C/S
      

  16.   

    yeath,我又见到sp1234了……
    yeath,我又见到sp1234了……
    yeath,我又见到sp1234了……
    yeath,我又见到sp1234了……
    yeath,我又见到sp1234了……