新版基于SIP的呈现服务系统的设计与实现汇编

新版基于SIP的呈现服务系统的设计与实现汇编摘要:该论文基于SIP协议设计和实现了一套呈现服务系统,该系统提供了用户注册和发布Presence信息、接收和存储Presence信息、查询用户Presence信息、订阅用户Presence信息和接收订阅信息更改通知等功能。该论文实现的呈现服务系统可满足人们对即时通信业务越来越高的需求。关键词:SIP协iE;订阅与通知;呈现服务中图分类号:***文献标识码:*文章编号:*-*(*)*-*-*1.可行性要求本文主要研究SIP协议的通信过程以及基于SIP的存在服务的实现。在网络服务中得到了广泛的应用,然而,对业务应用还没有发挥潜力,存在用户信息的使用,可以开发一个基于存在的增值服务品种,从而为进一步研究实现基于SIP协议存在的服务是必要的。2.系统总体结构设计PresenceServer系统主要采用多进程多线程设计,采用流水线方式实现进程间通信、模块化设计思想等。该系统主要分为接受消息处理和消息处理过程,从存在的消息存在信息源通过管道接到接收消息的过程发送到信息处理过程、信息处理过程解析消息,根据事件消息处理的具体类型、客户信息和发送响应,监测到期时间线和订阅消息处理过程中创建。3.开发环境3.1SunSolaris简介Solaris是Sun公司开发的计算机操作系统。它被认为是UNIX操作系统的派生版本之一。Solaris是目前开源软件。在202x年6月14日,太阳将要开发的Solaris11的源代码开放的CDDL许可证,这是OpenSolaris开放版。3.2Vi简介有很多文本编辑器,如gedit,kwrite,OpenOffice的图形模式,文本模式编辑vi,vim(vi的加强版)。在linux中最常用的编辑器是。vi或者是hnux的最基本的文本编辑工具,vi或虽然图形界面编辑器没有简单的鼠标操作,但是vi编辑器在系统管理、服务器管理上,始终没有一个图形界面比编辑器。4.系统详细设计与实现本章讨论实现Presence服务系统所需要的方法以及关键技术,包括数据结构的设计,各个功能模块的详细设计等。4.1系统数据结构设计在本系统中数据结构详细设计如表1所示。4.2系统功能模块设计与实现4.2.1Ps系统初始化模块PS系统调用forko函荡唇ㄗ咏程,在创建子进程前父进程先初始化套接字,forko创建子进程后拷贝一份套接字描述符,避免通过进程间通信机制,把父进程中的套接字描述符传送给子进程,从而使系统更易实现。在初始化套接字时,需要用户手动配置端口等信息,系统自动获取本地IP地址,端口信息展现给用户,在创建子进程后子进程与父进程共享套接字,避免在进程间进行套接字数据通信的复杂性。4.2PS系统接收消息进程功能模块PS系统接收消息进程把接收的到消息写入管道,由PS系统处理消息进程进行读取。流程图如图2所示。4.3PS系统消息处理进程功能模块Ps系统处理消息进程首先读取用户初始化配置文件,存放在本地群组链表中然后循环从管道读取接收到的消息,由消息解析函数parse_header(char*buffintflag)得到消息头,parse_bodv(char*body)函数解析到消息体,在解析得到具体信息后根据事件类型请求注册,发布,请求订阅及通知响应事件,主要流程图如3所示:4.4注册请求事件处理模块注册请求事件处理主要负责处理Presentity发布的注册事件,判断注册事件合法性,添加新注册的用户到相应的群组链表中,同时更新本地配置文件。注册请求事件处理代码主要实4.5发布请求事件处理模块发布请求事件处理主要负责处理Presentity发布的Pres-ence信息,先判断是否群组用户的信息已经初始化,如果已经初始化,则判断Presence信息是否过期,如果没有过期,则更新群组用户的Presence信息。发布请求事件处理代码所示。4.6订阅请求事件处理模块订阅请求事件处理主要处理Watcher(观察者)的订阅请求,把请求信息存储在订阅链表中,当订阅链表中的群组用户信息发生改变时,监视群组信息更新进程将根据订阅链表中的信息通知订阅的Presentity。Subscribe(订阅)请求事件处理代码主要实现代码如下所示。4.7信息更新线程监视模块Presence信息更新线程监视模块主要功能是在一定时间间隔遍历一次订阅链表中群组用户的Presence信息,监视Pres-enee信息是否更新,如果更新则发送NOTIFY消息给订阅了该群组用户Presence信息的Watch...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?