基于SIP协议的会话APP开发+源代码(3)

1.3.3 JAVA语言 Java是一门功能异常强大又简单易用的编程语言,它继C++语言后出现的又一门面向对象编程语言,它不但拥有C++在各方面的优点,而且还做出了


1.3.3  JAVA语言

Java是一门功能异常强大又简单易用的编程语言,它继C++语言后出现的又一门面向对象编程语言,它不但拥有C++在各方面的优点,而且还做出了相应的优化,剔除了C++中较难使用的多继承和指针,具有简单性、多线索性、面向对象、可移植性等一系列的特点[10]。Java语言深受程序员的喜爱,因为允许程序员以优雅的思维方式进行复杂的编程,所以它成为了现在使用最广的语言。

1.3.4  PHP语言

PHP语言作为一种通用开源语言,使用很广,尤其在Web的开发领域中尤为突出。这种语言在语法独特之处在于它吸收了C语言、Java和Perl的特点,不但使用非常简单便于程序开发者的开发学习,而且功能实现起来也比较强大。相对类似的开发语言而言,PHP语言可以更加快速地对动态界面进行执行,而且PHP语言在动态界面的制作上效率相对其他软件而言要高得多,.PHP对于编译后的程序,也能很好地执行[11]。

1.4 应用前景

现在的网络环境下,SIP协议已经被大量应用在基于软交换的网络中进行基本的呼叫控制,SIP协议已经成为下一代网络中软交换的核心协议。SIP与H.323相比较,SIP协议需要依赖TCP或者UDP协议来定义、协商和处理媒体流,而如果使用H.323协议的话不需要依赖其他的信号传输协议。SIP因为采用的是基于文本的消息表示方式,所以它借助HTTP语法分析器来实现SIP分析器也很容易用JAVA等语言实现、调试。

SIP协议在消息类型、消息头、消息体上都可以进行适当的扩充,而H.323则只能在ASN.1中有“非标准参数”的地方才能扩充,这就极大地限制了H.323的发展。

SIP可以借助VIA字段和与BGP近似的环路检测算法,就能够检测到在请求前传中可能存在的回路,不需要借助中间服务器保留的信息和状态来判别,因此SIP的网络规模可以拓展的很大。无论在大型网络中SIP服务器是以有状态工作或者是以无状态工作,SIP消息因为它本身就携带了相当多的状态消息,所以在绝大部分情况下都能够保证消息被正确传回。在需要时,大型骨干网的SIP服务器可以采用无状态工作方式,不需要保存信息和呼叫状态,极大的减少了占用的存储容量和计算工作量,这样能有效地提高SIP协议的扩展性。而因为H.323本身最初的设计是应用在局域网上的多媒体通信,所以它没有考虑到诸如广域网上的寻址和用户定位问题。因为设计的原因,H.323本身不提供一种在复杂的多域搜寻中支持回路检测的方法,所以限制了他支持的网络规模收到了限制,同时这也使得集中管理成为了H.234的工作瓶限[12]。

SIP协议设计之初借鉴了Internet的设计思想,在风格上也遵循了Internet的一贯坚持,具有简练、开放、兼容、可扩展等原则,相对其他协议而言比较简单,入手难度相对较小。SIP协议的应用才刚刚开始起步,所以现在掌握了SIP协议在以后的竞争和发展中有着极大地优势[13]。

1.5 论文组织结构

第一章:介绍了本软件的研究背景、国内外研究现状、开发技术和应用前景;

第二章:介绍了SIP协议的特点和消息格式,重点讲述了SIP协议的4个流程;

第三章:介绍了系统的整体框架,以及客户端实现功能使用的函数;

第四章:测试本软件,展示功能并汇报测试结果;

第五章:总结与展望,总结在进行本软件的开发过程中所遇到的问题与解决办法,展示本软件的不足之处,发表展望。

2. SIP协议

2.1 SIP协议特点

SIP协议充分吸收了HTTP(超文本传输协议)、SMTP(简单邮件传输协议)等网络协议的优点,成为了继HTTP、SMTP之后又一重要的网络协议,它的主要特点如下[14]: