• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于SIP的呈現(xiàn)服務系統(tǒng)的設計與實現(xiàn)

      2017-06-05 13:45:05郜金麗王琴
      電腦知識與技術 2017年10期

      郜金麗 王琴

      摘要:該論文基于SIP協(xié)議設計和實現(xiàn)了一套呈現(xiàn)服務系統(tǒng),該系統(tǒng)提供了用戶注冊和發(fā)布Presence信息、接收和存儲Presence信息、查詢用戶Presence信息、訂閱用戶Presence信息和接收訂閱信息更改通知等功能。該論文實現(xiàn)的呈現(xiàn)服務系統(tǒng)可滿足人們對即時通信業(yè)務越來越高的需求。

      關鍵詞:SIP協(xié)iE;訂閱與通知;呈現(xiàn)服務

      中圖分類號:TP311

      文獻標識碼:A

      文章編號:1009-3044(2017)10-0013-03

      1.可行性要求

      本文主要研究SIP協(xié)議的通信過程以及基于SIP的存在服務的實現(xiàn)。在網(wǎng)絡服務中得到了廣泛的應用,然而,對業(yè)務應用還沒有發(fā)揮潛力,存在用戶信息的使用,可以開發(fā)一個基于存在的增值服務品種,從而為進一步研究實現(xiàn)基于SIP協(xié)議存在的服務是必要的。

      2.系統(tǒng)總體結構設計

      Presence Server系統(tǒng)主要采用多進程多線程設計,采用流水線方式實現(xiàn)進程間通信、模塊化設計思想等。該系統(tǒng)主要分為接受消息處理和消息處理過程,從存在的消息存在信息源通過管道接到接收消息的過程發(fā)送到信息處理過程、信息處理過程解析消息,根據(jù)事件消息處理的具體類型、客戶信息和發(fā)送響應,監(jiān)測到期時間線和訂閱消息處理過程中創(chuàng)建。

      3.開發(fā)環(huán)境

      3.1 Sun Solaris簡介

      Solaris是Sun公司開發(fā)的計算機操作系統(tǒng)。它被認為是UNIX操作系統(tǒng)的派生版本之一。Solaris是目前開源軟件。在2005年6月14日,太陽將要開發(fā)的Solaris 11的源代碼開放的CDDL許可證,這是OpenSolaris開放版。

      3.2 Vi簡介

      有很多文本編輯器,如gedit,kwrite,OpenOffice的圖形模式,文本模式編輯vi,vim(vi的加強版)。在linux中最常用的編輯器是。vi或者是hnux的最基本的文本編輯工具,vi或雖然圖形界面編輯器沒有簡單的鼠標操作,但是vi編輯器在系統(tǒng)管理、服務器管理上,始終沒有一個圖形界面比編輯器。

      4.系統(tǒng)詳細設計與實現(xiàn)

      本章討論實現(xiàn)Presence服務系統(tǒng)所需要的方法以及關鍵技術,包括數(shù)據(jù)結構的設計,各個功能模塊的詳細設計等。

      4.1系統(tǒng)數(shù)據(jù)結構設計

      在本系統(tǒng)中數(shù)據(jù)結構詳細設計如表1所示。

      4.2系統(tǒng)功能模塊設計與實現(xiàn)

      4.2.1Ps系統(tǒng)初始化模塊

      PS系統(tǒng)調(diào)用forko函數(shù)創(chuàng)建子進程,在創(chuàng)建子進程前父進程先初始化套接字,forko創(chuàng)建子進程后拷貝一份套接字描述符,避免通過進程間通信機制,把父進程中的套接字描述符傳送給子進程,從而使系統(tǒng)更易實現(xiàn)。在初始化套接字時,需要用戶手動配置端口等信息,系統(tǒng)自動獲取本地IP地址,端口信息展現(xiàn)給用戶,在創(chuàng)建子進程后子進程與父進程共享套接字,避免在進程間進行套接字數(shù)據(jù)通信的復雜性。

      4.2PS系統(tǒng)接收消息進程功能模塊

      PS系統(tǒng)接收消息進程把接收的到消息寫入管道,由PS系統(tǒng)處理消息進程進行讀取。流程圖如圖2所示。

      4.3PS系統(tǒng)消息處理進程功能模塊

      Ps系統(tǒng)處理消息進程首先讀取用戶初始化配置文件,存放在本地群組鏈表中,然后循環(huán)從管道讀取接收到的消息,由消息解析函數(shù)parse_header(char*buff int flag)得到消息頭,parse_bodv(char*body)函數(shù)解析到消息體,在解析得到具體信息后根據(jù)事件類型請求注冊,發(fā)布,請求訂閱及通知響應事件,主要流程圖如3所示:

      4.4注冊請求事件處理模塊

      注冊請求事件處理主要負責處理Presentity發(fā)布的注冊事件,判斷注冊事件合法性,添加新注冊的用戶到相應的群組鏈表中,同時更新本地配置文件。注冊請求事件處理代碼主要實

      4.5發(fā)布請求事件處理模塊

      發(fā)布請求事件處理主要負責處理Presentity發(fā)布的Pres-ence信息,先判斷是否群組用戶的信息已經(jīng)初始化,如果已經(jīng)初始化,則判斷Presence信息是否過期,如果沒有過期,則更新群組用戶的Presence信息。發(fā)布請求事件處理代碼所示。

      4.6訂閱請求事件處理模塊

      訂閱請求事件處理主要處理Watcher(觀察者)的訂閱請求,把請求信息存儲在訂閱鏈表中,當訂閱鏈表中的群組用戶信息發(fā)生改變時,監(jiān)視群組信息更新進程將根據(jù)訂閱鏈表中的信息通知訂閱的Presentity。Subscribe(訂閱)請求事件處理代碼主要實現(xiàn)代碼如下所示。

      4.7信息更新線程監(jiān)視模塊

      Presence信息更新線程監(jiān)視模塊主要功能是在一定時間間隔遍歷一次訂閱鏈表中群組用戶的Presence信息,監(jiān)視Pres-enee信息是否更新,如果更新則發(fā)送NOTIFY消息給訂閱了該群組用戶Presence信息的Watcher。信息更新線程監(jiān)視模塊功能代碼如下所示:

      5.結束語

      本系統(tǒng)在實現(xiàn)過程中采用多進程設計實現(xiàn),使用管道進行進程間通信。同時采用了多線程設計從而進一步提高資源利用率及系統(tǒng)運行效率。系統(tǒng)間數(shù)據(jù)傳輸?shù)南Ⅲw采用標準的XML格式描述,提高系統(tǒng)的實用性。由于SIP協(xié)議的影響深遠,基于SIP協(xié)議的系統(tǒng)實現(xiàn)使本系統(tǒng)生命周期更長久。

      中阳县| 师宗县| 高唐县| 桃园县| 吴桥县| 郧西县| 乌苏市| 平阳县| 青浦区| 荔波县| 滦平县| 密山市| 邹平县| 阜平县| 深州市| 神池县| 哈密市| 肇东市| 大连市| 蕉岭县| 肥城市| 青冈县| 扎赉特旗| 石家庄市| 沙田区| 隆林| 石城县| 青川县| 富平县| 迁西县| 稷山县| 会同县| 五台县| 天峨县| 安国市| 彝良县| 新乐市| 崇信县| 惠州市| 克拉玛依市| 高陵县|