基于AJAX、WebService和SIP协议的异步通信机制研究_第1页
基于AJAX、WebService和SIP协议的异步通信机制研究_第2页
基于AJAX、WebService和SIP协议的异步通信机制研究_第3页
基于AJAX、WebService和SIP协议的异步通信机制研究_第4页
基于AJAX、WebService和SIP协议的异步通信机制研究_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    基于ajax、webservice和sip协议的异步通信机制研究    徐伟摘 要:http协议是一种无状态的通讯协议,适用于一次性的同步传输。但许多应用场景(如web聊天室、web phone)需要使用持续性的同步传输,针对此问题,采用ajax技术搭配sip协议,让客户端与服务器维持一定的持续性作用状态,而服务器端程序则采用异步呼叫技术,呼叫以sip协议为基础构建的web service,如此处理可以大幅提升服务器端程序对用户的响应速度,并提升网站负载能力。关键词:互联网 异步通信 信息安全:tp311 :a :1672-3791(2017)0

2、2(b)-0021-03互联网飞速发展,提供的网络服务也越来越多。而在众多的网络服务中,即时通讯又成为了使用最广、影响最大、运营最成功的网络服务之一。尽管如此,网页聊天室仍有其生存空间,原因在于网页聊天室是具有主题性的,特定群体会在特定聊天室中讨论相关话题,适合陌生人之间交流,而实时通讯软件则是用以维系已有的人际关系。但在技术层面,网页聊天室无法实现实时通讯软件的主动推送(push)机制,所有客户端都会以轮询机制和服务器进行通信,网站主机收到轮询的请求会推送整个网页到客户端,导致网站服务器负载过重,且客户端将因为网站负载过大,响应速度变慢而产生信息传递停滞现象。基于ajax、web servi

3、ce和sip协议建立web接口的端对端异步通信机制可以解决此类问题。1 相关理论与技术通过采用ajax及sip通讯协议,设计一个web service并以web为接口的端对端异步通信实例,阐释web service双向通讯的建构方式,同时对ajax技术、sip通讯协议的原理与应用作简要介绍。1.1 web service双向通信机制如图1所示1,建立client/server双向通信的松散连接及紧密连接架构,web service双向通信包含了一个client的主动请求和一个server端的前项式push或事件通知。这是从服务互动的观点来设计的,最少会包含这3种型态,而每一个端点都像这样具备c

4、lient与server的功能设计。(1)type i是一个常见的单向web service交互式样板;rc:表示client端初始化一个请求,这个请求可以接收响应或是不需要响应。(2)type ii是一个server to client的异步reply与event notification的交互式样板,实际上异步reply常被塑造成event notification的模式,有ack就响应,否则就是notification;es:表示server的事件通知,可以要求具有ack的响应,也可以是一个事件通知。(3)type iii与type i相反;rs:表示server端初始化一个请求,这个请

5、求可以接收响应或是不需要响应。图1中实心的箭头是初始化请求,虚线则是选择性的信息响应,type i server必须提供适当的wsdl,通过soap传递给client来使用,type ii 和type iii在client必须提供适当的wsdl,通过soap传递给server来使用,而web service代理人需同时具备typeitypeiii的行为能力,在一个web service的端点中同时存在client/server的角色时就会出现状态协调性的问题,如果协调性出现问题就会出现错误,传统wsdl是one-way方式,要实现web service双向通信就要做动态的设计。1.2 ajax

6、技术ajax的全名为asynchronous javascript and xml,是javascript及xml等技术的结合体,另外ajax也包含浏览器端如何呼叫服务器端web service的http request技术3。从ajax全名的字义中可以了解,ajax就是异步的javascript与xml,它突破了传统网页开发技术的限制,使得网页更具互动性。1.3 sip通讯协议的原理与应用sip是一个应用层的控制通讯协议,可以建立、修改或结束多媒体联机4。以osi定义的网络七层来分类,sip应该属于会话层,但是也有人将其归类在广义的应用层。sip目前共定义九大逻辑组件5,因该文仅使用到pro

7、xy server这个组件,利用该组件的原理,将该组件的部分功能设计成web service。proxy server是一个中介组件,同时具有server 与client的双重角色,相当于h.323中的gatekeeper,通常sip user agent发出请求时并不知道对方的地址,需要proxy server从中协助,当proxy server无法取得sip user agent所要求的联机对象的地址时,proxy server会通过预设的路由选择方式转送给其他proxy server代为解析,此时转送请求的proxy server便会成为client端。如图2所示,以invite为例,假

8、设smith要用sip phone 与john通话,首先smith与john的sip phone要先分别向各自的sip proxy注册,接着smtih的sip phone发出 invite request,其中invite request中会有几个标头字段:via、to、from、call-id、cseq、contact、max-forward、content-type、content-length。因为smith的sip phone并不知道john的地址或是john所注册的sip proxy地址,smith会将invite request送到自己所注册的sip proxy(smiths pr

9、oxy),smiths proxy会回传100(trying)给smith的sip phone,100 (trying)表示proxy已经收到并处理invite request,而smiths proxy会根据ip或是域名找到john的sip phone所注册的proxy,在把invite request传送出去之前,smiths proxy会先将自己的地址填在via字段,加到invite request 的标头,然后送到john的sip phone所注册的proxy (johns proxy),而johns proxy则会在收到invite 讯息后回传100(trying)给smiths p

10、roxy,表示已经收到并处理invite request,此时johns proxy会查询数据库,找到john目前所在的ip 地址,之后johns proxy会将自己的地址填在via 字段,加到invite request的标头并将invite request传送给john的sip phone。在收到invite 信息后,john的sip phone 会进入ringing的状态,并依照先前所纪录的via字段,依照路径回传180(ringing)讯息给smith的sip phone并告知john有来电。当smith的sip phone收到180 (ringing)信息后,可以显示某些信息并等待j

11、ohn接起电话,若john接起电话,表示john允许建立联机,john的sip phone响应200(ok)信息给smith的sip phone,而200(ok)的讯息中,可以携带john希望建立rtp 封包联机的相关信息和参数(ip 地址与port)的sdp给smith,其中sdp是附加在sip message后面。此时smith的sip phone因应200(ok)的信息响应ack 给john的sip phone,两端sip联机就算是建立完成,此时便可以利用之前message所攜带的sdp里的相关参数,开始传输rtp 封包。若john拒绝受话,则john的sip phone就会传送一个ca

12、ncel讯息给smith的sip phone。 2 结语过去在浏览器上运行需要单向、双向,全双工、半双工的服务(如聊天室、语音通话、视讯等)都存在一些问题,网页聊天室采用共通的session或全局变量来达成信号沟通的目的,而浏览器也会定时postback,造成client端浏览器换页的动作产生,也会存在一些session中断或是无法清除的问题,对于实时的讯号交换是一个瓶颈,许多运行顺畅的语音或视讯软件,都是以active x或是applet的组件嵌入方式安装在client端浏览器中,运用了ajax的方式呼叫callback机制后,寻找可用的web service,结合sip通信协议,让信息或软

13、件可以快速地组合出新的服务,也可以达到信号实时交换的需求,另外提供了一种快速开发以浏览器为用户端软件系统的新方式,而client浏览器不再需要一直进行更新网页的动作,也不需要嵌入任何组件,这对目前很多使用者因嵌入不明组件造成中毒或是黑客入侵,有实质上的帮助,提高信息安全的防护。参考文献1 zhensheng wu.a way of using web service by ajaxc/proceedings of 2008 international symposium on distributed computing and applications for business engineering and science.2005.2 wu chou,feng liu.web service for tele-communicationc/proceedings of the advanced international conference on telecommunications and international co

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论