最近看见很多这样的帖子,说是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不同只需要增加新的业务规则.针对以前所定义好的抽象是不需要再改动的.废话不多说了,有图有真相:
代码实现就不讲了,没这个必要.多看看书.
源码下载
这个大家并不陌生,首先利用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不同只需要增加新的业务规则.针对以前所定义好的抽象是不需要再改动的.废话不多说了,有图有真相:
代码实现就不讲了,没这个必要.多看看书.
源码下载
一个实时的网页版本msn , 让你用网页上msn
msn. 而且这个软件的windows 版本 会在我的网站提供下载。目前只是进行安全测试和压力测试,所以如果出现问题,敬请谅解。我预计在服务器正常运行一段时间以后就提供相应的版本下载。 这个周期需要测试的结果来定。
关于安全方面,服务器在设计的时候已经在安全上做了最大限度的控制,但是自身水平限制,失误往往难免。
如果有人发现有任何安全问题 可以直接联系我。 谢谢
最后我发布一下 网址
http://www.msn2web.com论坛
http://www.msn2web.com:8080有任何问题我都会做出相应的解答。email: [email protected]
发生ie卡死,应该是代码的问题了,跟你使用了ajax无关。楼主详细说一下你的通信机制吗?如何实现?
强烈支持楼主啊,很好的东东啊。
那个web版的msn高手要是和lz一样共享代码那就是太棒了啊。
支持lz
这个嘛,是从WEBQQ挖下来的界面。
我就用纯 Ajax 开发的,放一天都没问题。
可惜都快1年了,没什么人感兴趣。至于开源,我对开源有自己的看法。
代码早就在上面了。我看了下你的MSN。 没有跟MS的 MSN 链接嘛。AJAX?
至于代码var getrsaurl = "rsa.aspx?"; // 获取rsa公钥的网址
var freshurl = "fresh.aspx?"; // 普通刷新的网页
var loginurl = "login.aspx?"; // 提交用户名口令的网页你该看看是否合适使用aspx
Skype 有WEB?我知道你所说的是指NAT打洞。P2P模式或者是服务器中转方式。但是WEB需要NAT么?浑然是两种模式,而且WEB 通过flash socket 指定服务器IP 仍然不需要NAT,但是得注意的是flash沙箱。NAT一般用于C/S
yeath,我又见到sp1234了……
yeath,我又见到sp1234了……
yeath,我又见到sp1234了……
yeath,我又见到sp1234了……