

英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
基于BOSH系统的Web IM的设计与实现
孟良少
广州南洋电子信息工程系中国广州学院
摘要:
目前,IM软件已经成为大多数的免费工具电子商务企业进行实时沟通。应用用于IM开发的XMPP开源协议是最受欢迎的选择他们。 经过对XMPP和BOSH协议特性的详细分析,本文提出了一种解决方案的系统架构设计开发由开源软件架构支持,而我们选择XMPP服务器(Openfire)进行自定义的服务器开发侧面,使用Strophe JS库来设计和实现IM Web客户端网络匿名用户。
关键词:
即时消息,XMPP,BOSH,openfire,匿名登录。
- 介绍
随着互联网的快速发展,IM(即时通讯,下文被称为IM [1])工具,被人们广泛青睐,它使人们不受地域因素限制,通过实时文字,图片,网络的文档,语音和视频通信。
目前,IM产品出现了多元化的竞争态势。 因为他们各自的兴趣,大多数IM产品不使用私人通信协议公开,在一定程度上阻碍了其间的通信不同的IM系统。
对于新兴的电子商务企业来说,他们迫切需要即时通讯服务促进与客户的实时沟通。 IM系统可以在下面使用两个解决方案:一个是针对这些供应商的IM产品,另一个是开发私人IM协议。随着前者的飞速发展,业务不便,并与个性化服务,IM通信信息成为宝贵的资源,电力企业是一个重要的对象,但是很难开发大数据系统,它是不可能的与其他IM对接。由于这些原因,选择开放协议并打开二次开发源框架,是电气的首选企业。在本文中,IM工具系统已经结合“youboy电子商务平台”开发嵌入式电商业平台。提出了XMPP和BOSH协议,在IM IM工具系统中进行选择,
主要原因如下:
- XMPP协议标准在国外得到广泛应用。 公共XMPP使用XML描述,协议和方便的扩展有很多支持XMPP开源服务器和客户端源代码,所以它是方便开发易于部署;
- 支持XMPP服务器可以与通信协议对接异构,方便,各种IM对接;
- BOSH技术有效地避免了HTTP轮询,减少了延迟使用更少的网络资源提供实时的通信效率。
- 相关技术
XMPP协议:XMPP(可扩展消息传递和在线协议)[2]可扩展消息传递和存在协议是基于的开放式协议可扩展标记语言。 可以使用XML和XMPP协议进行处理实时消息请求和响应服务,也可以用来实现即时通讯系统的不同服务。
XMPP定义了客户端,服务器,网关[3]及其中的三个字符工作原理如图1所示。
图1:示意图XMPP协议。
波什协议:BOSH(双向流过同步HTTP,基于同步HTTP的方式流)[4]是传输协议。 它可以使用同步HTTP协议来模拟两个实体(例如,客户机 - 服务器)双向用于流传输,无需轮询或异步组件。
对于那些需要“推”和“拉”技术应用的用户而言,以BOSH为基础在HTTP协议技术如AJAX [5]上更加高效和经济训练比HTTP技术旋转(如Comet [6] [7]),BOSH有一个更高的效率和更低的延迟。BOSH定义了XMPP数据传输的标准,解决方案是解决HTTP协议的问题不能保持长的TCP连接。 过程如图2所示。
图2:关于BOSH的数据传输流程图。
- 系统设计与实现
3.1整体系统架构
系统集成与“所有响应单一呼叫”B2B共鸣电子商务平台,提供各种通讯平台PC到PC,PC到android,android到android使用户能够跟踪客户端随时随地掌握电子商务平台和沟通与别人及时 系统整体架构如图3所示。
图3:整体系统架构图。
图3插图:
- IM WEB客户端,IM移动客户端和IM PC客户端都可以进行通信通过XMPP Over BOSH和IM服务器连接;
- 发送给目标用户的消息通过IM服务器转发给他们。
-
IM PC客户端和IM移动客户端可以使用其他通信协议如IM服务器连接,IM判断目标客户端服务器连接,并转发并采用相应的协议。
- IM服务器部署与开发
该系统使用Openfire IM服务器部署的二次开发。Openfire是使用Java开发,开源实时协作(RTC)服务器是协议的实现[8]。
IM服务器设置:
- 启用BOSH协议设置启动BOSCH协议可以使Web IM客户端连接到IM服务器并以有效的方式进行通信。
- 设置匿名登录鉴于电子商务平台用户的特点:用户可以与商家沟通产品。 不想暴露个人决定交易前的资料。 因此,电子商务网站,大多数IM Web客户端用户可以匿名登录并进行business.IM服务器需要启动允许匿名登录。
- 插件开发在实际需求中,可能需要一些Openfire bt,它不提供任何功能。 目前一般有两种做法:首先是修改Openfire源码,继承BasicModule或实现的模块,然后在XMPPServer的方法中启动海关和loadModules模块。 第二种方法是使用插件扩展机制,使新功能可以部署Openfire方便易用,直到后来升级[9]。 为了确保系统的完整性和可扩展性,采用该方法功能扩展插件。
插件开发的基本方法[10]:
步骤1:定义拦截器类;
拦截器类是一个实现包拦截器接口和拦截数据包方法是针对特定的业务逻辑。
步骤2:定义插件类;
插件类是一个实现插件接口,在初始化中加载step1在拦截器类中定义的插件方法是在destroyplugin方法中破坏拦截器类加载。
步骤3:插件的配置,XML文件。
完成项目的配置,如插件和管理控制台参数设置。
该系统主要开发两个插件:保持集成聊天记录外部用户 聊天记录保存插件是帮助用户保存聊天记录,所以可以随时检查他们的聊天记录。 外部整合用户插件是IM系统用户使用原始登录身份验证注册和电子商务平台的IM系统可以集成现有的电子商务平台。
-
- WEB服务器部署和设置
因为IM Web客户端嵌入电子商务网页,以便用户进入当浏览网页并随时开始业务通信时。因此,Web服务器应该处理相关的IM Web客户端操作与他们沟通。 IM服务器已经实现了对接IM客户端 为了确保现有的独立性和安全性电子商务平台,这个系统为IM Web客户端相关操作和码头随着IM服务器使用专用的Web服务器部署,专门的处理IM Web客户端信息转发(即图2中的Web服务器)。
Web服务器在本系统中使用Nginx [11]。 Nginx启用端口80和转发/ HTTP - 绑定请求到Xmpp服务器(HTTP Openfire) - 绑定端口(端口号:7070)。 结构如图4所示:
图4:IM Web服务器(Nginx)结构。
在nginx配置文件中。 会议者添加以下设置:
# which im. Nyjy. Cn for im server domain, 172.16.36.16 for im server IP address
upstream im.nyjy.cn{ server 172.16.36.16:7070; }
location /http-bind {
proxy_pass http://im.nyjy.cn;
proxy_buffering off;
proxy_redirect off;
proxy_read_timeout 120;
proxy_connect_timeout 120;
}
安全策略:匿名登录,任何人都可以与服务器连接创建一个新的会话,以这种方式,非法用户通过匿名登录到所有用户发送垃圾邮件并影响系统安全。给出安全性问题,匿名用户只能通过电子商务门户登录在IM服务器(Openfire)中进行设置。
- IM Web客户端的设计和实现
IM Web用户登录是匿名的,开始业务通信,本文主要介绍匿名登录时的设计和实现。
IM Web客户端使用BOSH协议与IM服务器通信,客户端使用javascript BOSH实现,本系统使用strophe [12]图书馆。
4.1 Strophe库主对象库
Strophe图书馆主要对象如表1所示。
表1:Strophe图书馆的主要对象。
|
Strophe.js |
|
|
Strophe |
所有Strophe库函数的对象容器 |
|
Strophe.Builder |
XML DOM构建器 |
|
Strophe.Connection |
XMPP连接管理器 |
|
Strophe.SASLMechanism |
封装SASL认证机制 |
|
Strophe.Bosh |
处理BOSH连接的专用助手类 |
|
Strophe.WebSocket |
处理WebSocket的私人助手类 连接 |
4.2处理步骤
步骤1:使用Strophe和服务器端连接;
connection.connect($(#jid)。get(0).value,$(#pass)。get(0).value,onConnect);
//在连接成功后,将onConnect作为回调函数可以在此功能中完成:显示欢迎消息,发送到商人在此时的注意力等等。
步骤2:连接成功后,注册的回调函数将会被执行用于处理收到的消息;
connection.addHandler(onMessage,null,message,null,null,null);
// on消息回调函数,用于处理收到的消息显示等
步骤3:消息发送处理;
var reply = $ msg({to:toId,from:fromId,type:chat})。cnode(Strophe。
xmlElement(body,,msg));
connection.send(reply.tree()); / / 发送一个消息
步骤4:关闭连接
connection.disconnect();
4.3其他事项和扩展功能
i) 用户目前专注于商品信息
访客“与业务用户沟通”紧密联系商家有即时通讯,IM Web服务器通过URL参数通过业务用户的身份证,如果是在指定的商品页面,点击链接,同时交货认证,让业务用户通知有关商品。具体实现方法可以在4.2(2)回调函数中在连接代码上,匿名用户发送商人之后成功登录他们的商品名称或目前的关注网址。
ii) 系统的可扩展功能
为了提高采购成功率,可扩展功能可以是结合现有电子商务网站的功能,如:用户浏览轨迹,注册用户的消费习惯等对系统进行大量数据分析,为企业客户提供更好的服务,这是特定于IM Web客户端设置和专门的目的Web服务器,也使现有电子商务网站的功能和IM Web服务器更加合并到一个非常独立的实现模块,而无需更改IM服务器。
- 结论
目前,即时通讯软件已经成为电子商务的主要工具,商业。 企业必须与用户工具进行沟通。 使用打开的XMPP协议是最发达的电力业务的首选企业。
本文对XMPP和BOSH协议进行了详细的分析特点。 采用BOSH协议设计IM系统,并开放使用源XMPP服务器(Openfire)软件,用于二次开发服务器设置。 选择Strophe库以完成匿名登录。该开发IM Web客户端设计和实现系统是有帮助的实现BOSH协议的应用,为其提供参考。
致谢
研究工作得到广州科技计划的支持,项目授权号2013-KXF-001和佛山禅城区研究专项资金项目编号:20131072059。
参考
[1]有关http:// en.wikipedia.org/wiki/Instant_messaging的信息。
[2]关于http:// www.ietf.org/rfc/rfc3920.txt的信息。
[3] Saint-Andre P. RFC3921 扩展消息和存在协议(XMPP):即时通讯和存在,IETF提出标准[S] 0.2004。
[4]有关http://xmpp.org/extensions/xep-0124.html的信息
[5]关于http:// www.qenet.co.uk/warwick/whitepaper-pushTech.pdf的信息。
[6]有关http://www.ibm.com/developerworks/cn/ web / wa-lo-彗星/的信息。
[7]杭陈,方赵,基于XMPP服务器推送技术和Web
IM系统。 Computer Engineering and Design,5,pp。925-
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[25831],资料为PDF文档或Word文档,PDF文档可免费转换为Word
您可能感兴趣的文章
- 饮用水微生物群:一个全面的时空研究,以监测巴黎供水系统的水质外文翻译资料
- 步进电机控制和摩擦模型对复杂机械系统精确定位的影响外文翻译资料
- 具有温湿度控制的开式阴极PEM燃料电池性能的提升外文翻译资料
- 警报定时系统对驾驶员行为的影响:调查驾驶员信任的差异以及根据警报定时对警报的响应外文翻译资料
- 门禁系统的零知识认证解决方案外文翻译资料
- 车辆废气及室外环境中悬浮微粒中有机磷的含量—-个案研究外文翻译资料
- ZigBee协议对城市风力涡轮机的无线监控: 支持应用软件和传感器模块外文翻译资料
- ZigBee系统在医疗保健中提供位置信息和传感器数据传输的方案外文翻译资料
- 基于PLC的模糊控制器在污水处理系统中的应用外文翻译资料
- 光伏并联最大功率点跟踪系统独立应用程序外文翻译资料
