演示一下Pixysoft.Ajax在客服实际系统中的应用
前言
本演示主要使用了自主开发的pixysoft.framework.messageflow框架。演示了网页客服与QQ等现有IM系统如何结合操作。
注明一下,本文仅提供了一个思路,不同人有不同的实现方式,您一定会收到启发,想到更好的实现。
效果展示
网页客服打开之后,会自动链接到网站服务器
本地服务器启动之后,也会自动链接到网站服务器
然后网站服务器就像个寄存中心、本地服务器会充当路由角色,自动选择一个有效的IM客服代理,实现网页与其他IM沟通。
逻辑结构
关键技术说明
1. 使用qq,就要用LUmaqq.net开发。
2. gtalk/msn等也有开源的框架,封装一下就可以了。
3. 使用pixysoft.ajax技术建立网页与网站服务器的长连接,相关下载在:http://www.cnblogs.com/zc22/archive/2009/11/16/1603938.html
4. 网站服务器与本地服务器要实现comet架构,使用httphandler实现。
5. 本地服务器要有一套协议,实现各种im之间的路由。图片中qq看到的协议就是我自己实现的路由协议。
使用Pixysoft.Ajax建立网页部分长连接
由于pixysoft.ajax技术基于了ICallbackEventHandler接口,因此也带有其缺陷。
1. 不支持session
2. 如果服务端处理时间太长不返回(长连接)而客户端再次发出一个ajax请求,就会报错,这个又是个asp.net的bug(该死的微软,怎么这么差劲)。
因此,如果要在服务器端实现链接持久,那么网页部分除了长连接的建立,其他的ajax需要使用asp.net ajax去实现了。简单的说,图片中:发送信息等使用了asp.net的ajax技术(updatepanel),信息回复并显示使用了pixysoft.ajax技术。
也算是各尽其责了。如果自己去用ajax实现长连接就更加烦琐。
网站comet建立本地与网站之间的长连接
主要使用httphandler实现comet,本地服务器会发出一个subscribe的请求,网站会持久不返回。直到接收到信息后。
具体可以参考:
http://www.cnblogs.com/zc22/archive/2009/11/14/1603141.html
技术支持
本文仅介绍了我的一种comet实际使用的思路,不同人有不同的思想,您一定可以用comet玩更丰富的游戏。
zc22.cnblogs.com