999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于云服務的即時通訊軟件的設計與實現

2016-11-14 06:47:14胡騰宇彭召意
軟件 2016年8期
關鍵詞:用戶功能服務

李 楊,胡騰宇,彭召意

(1. 湖南工業大學 計算機與通信學院,湖南 株洲 412007;(2. 智能信息感知及處理技術湖南省重點實驗室,湖南 株洲 412007)

一種基于云服務的即時通訊軟件的設計與實現

李楊1,2,胡騰宇1,2,彭召意1,2

(1. 湖南工業大學 計算機與通信學院,湖南 株洲412007;(2. 智能信息感知及處理技術湖南省重點實驗室,湖南 株洲412007)

為了適應移動通信技術的發展,滿足人們即時通訊的要求,基于融云提供的即時通訊云服務,在IOS平臺上設計并實現了一種即時通訊軟件。軟件使用Objective-C語言和Xcode進行開發,數據存儲使用融云提供的云服務,并使用Storyboard和Autolayout技術完成用戶界面的搭建和針對不同尺寸屏幕設備的適配。軟件實現了語音、文字、圖片等富媒體的即時通訊功能,提高了人們的信息交流能力,并降低了信息交流成本。

即時通訊;云服務;IOS;Objective-C

本文著錄格式:李楊,胡騰宇,彭召意. 一種基于云服務的即時通訊軟件的設計與實現[J]. 軟件,2016,37(8):41-46

0 引言

近年來,移動互聯網發展態勢十分迅猛,4G移動網絡通信技術的不斷發展,基礎通訊設施的不斷完善,使得人們可以高速地接入移動互聯網,忽略空間地域的限制獲取海量信息。當然,這些應用離不開移動應用軟件的支持。而在所有這些應用軟件分類中,需求量最大的是通訊和社交類的應用。比如,就微信通訊軟件而言,截止到2015年第一季度,就已經覆蓋了中國90%用戶,各品牌的微信公眾賬號總數已經超過800萬個,移動應用對接數量超過85000個,微信支付用戶則達到了4億左右[1]。

即時通訊軟件已經成為最熱門的網絡應用之一。經歷了近幾年突飛猛進的發展之后,即時通訊工具早已不再是簡單的互聯網通訊工具,它已經成為一個集互動交流、休閑娛樂、信息管理為一體的多元化互聯網應用平臺。總之,即時通訊軟件的出現給人們彼此之間的溝通帶來了無比的方便,人們可以通過聊天軟件進行多員化的信息交流,并建立深刻的友情,讓人們在互聯網上的交流更加充滿活力與生機[2]。這種交流方式正在改變我們的生活,開發和應用即時通訊軟件必將大有作為。

1 系統功能分析和設計

該即時通訊軟件旨在為使用iOS設備的用戶提供一個簡單便捷、功能完善的溝通平臺,其中最主要模塊是通訊模塊和社交模塊。通訊模塊為用戶提供便捷靈活的信息傳遞服務,方便信息共享并降低用戶溝通的成本;社交模塊作為人際關系的紐帶,打破了孤獨的壁壘,拉近人與人之間距離。

軟件利用Wi-Fi/4G/3G等網絡資源進行數據通訊,整合了文本、圖片、語音、地理位置(POI)、即時通話等富媒體即時消息,并且通過社交模塊,分享和記錄自己的生活,有助于穩固和升華情感,并擴大自己的好友圈子。

目前,基于云計算平臺的應用越來越多[3-4],并且數據安全性也有保障[5]。本軟件采用C/S結構,基于IOS平臺,數據交換和服務由LeanCloud后端云服務提供,開發語言采用Objective_C。信息的交換由服務端實現,在減少客戶端任務量的同時,也保證了即時通訊軟件對實時性和穩定性要求。

通過對用戶需求分析和對當前較流行同類型軟件進行對比,即時通訊社交軟件需要有以下功能模塊:賬號體系模塊、通訊錄管理模塊、即時通訊模塊、社交模塊、個人信息模塊。

1.1即時通訊模塊

即時通訊功能模塊包括消息發送功能、消息接收功能、查看聊天記錄功能,其中消息類型包括文字消息、表情消息、語音消息、圖片消息、位置消息、語音通話等。

消息發送和接收功能:在iOS平臺下,根據用戶的使用場景和Wi-Fi、4G、3G等網絡環境之間的切換,實現文字、表情、語音、圖片、位置消息、語音通話等消息的傳輸,實現發送和接收功能。客戶端需要實現自動斷線重連功能,保障消息暢通,在完善的消息狀態確認機制下,服務端對于客戶端的重連間隔需保持寬容態度。

查看聊天記錄功能:對于所有的會話,來往的聊天記錄都應該保存在客戶端本地存儲中,方便用戶進行查看。查看時,需要在聊天頁面計算這些信息的顯示位置和大小,實現界面的自動布局。

1.2社交模塊

社交模塊包括好友狀態查看,發布狀態、好友互動、掃描二維碼、其中狀態類型包括文字、圖片等。另外還擴充了游戲、購物等功能。

好友狀態查看:用戶可以用文字或圖片分享和記錄自己的生活平臺,同時供好友查看。

發布狀態:選擇發布文字狀態,可以進入狀態編輯界面。

好友互動:與好友分享記錄生活的同時,進行點贊貨評論。

掃描二維碼:該功能主要為用戶提供了用戶信息獲取和網頁跳轉的功能。

游戲:為了增加用戶的活躍度和留存率和使用時長,特意添加了游戲功能。

購物:購物滿足用戶對于網上購物的需求,同時軟件可以通過向購物網站導流的方式實現流量變現,是軟件主要的盈利手段。

1.3個人信息模塊

個人信息模塊主要功能是個人信息的查看和修改,個人信息包括頭像、昵稱、手機號、二維碼、性別、地區、個性簽名等。

頭像的查看與修改,頭像在用戶詳情界面應顯示縮略圖,點擊后顯示原圖,并且提供2種修改方式,分別是通過選擇調用相機拍照或通過相冊選擇照片修改,用戶的其他信息查看與此類似。

1.4賬號體系模塊

賬號體系模塊包含注冊、登錄、找回密碼等功能。

注冊功能:注冊功能主要實現新用戶的注冊,用戶點擊注冊按鈕后,引導用戶輸入手機號和個人等信息,并將信息上傳到服務器后就完成注冊。

登錄功能:用戶點擊登錄按鈕后,輸入手機號和密碼,與服務器通信驗證正確匹配后,完成一次登錄。

找回密碼功能:用戶如果忘記密碼,無法登錄,可以在輸入手機號后,請求服務端發送驗證短信,通過接受短信驗證碼與服務器驗證的方式重置密碼。

1.5通訊錄管理模塊

通訊錄管理模塊包含顯示好友列表、查看好友信息、搜索好友、添加好友、刪除好友等功能。

好友列表和查看:用戶登錄后,通過訪問服務器獲取該用戶所有好友并具有分組功能,可以根據需要查看好友的基本信息;

搜索好友:在好友搜索框,通過好友手機號碼來查找用戶。如果沒有好友信息,可以進行添加。如果不需要的好友,可以進行刪除。

通訊錄數據都需要云服務提供支持。

1.6用戶界面

軟件整體設計遵循操作系統的整體顏色和操作風格,聊天類功能界面在布局上符合即時通訊類軟件的規范性界面架構形式,采用標題欄、信息顯示面板、信息編輯工具欄的上中下形式,標題欄中包含返回上一層、標題和添加聊天成員的信息;信息顯示面板中顯示所有聊天紀錄和記錄發送時的時間;信息編輯工具欄提供信息輸入形式切換的功能,可隨意切換文本、表情、語音、圖片等聊天方式。這樣的布局模式,信息呈現方式與現在市面上主流的即時通訊類軟件相似,不會使用戶有陌生感。

主要界面布局效果如圖1所示。

圖1 主要界面布局效果圖

用戶界面元素采用了微信提供的WeUI,WeUI是一套與微信原生視覺體驗一致的基礎樣式庫,主要使用的基礎控件有:按鈕控件、單元格控件、圖標控件、搜索框控件、進度條控件等。

1.7開發與運行環境要求

開發硬件要求:運行Mac OS X 10.11或以上版本系統的Mac電腦,CPU要求Intel Core i5或以上,內存8 GB或以上,硬盤128 GB或以上。

運行硬件要求:運行iOS 9.0或以上的iOS設備,內存1 G或以上,存儲容量16 G或以上。

開發環境:Xcode 7.0或以上版本、Mac OS X 10.11或以上版本,Objective-C語言。

開發工具:第三方庫管理工具CocoaPods、版本管理工具Git,代碼托管平臺Github。

2 系統主要技術

2.1LeanCloud后端數據云服務

服務端采用了LeanCloud提供的BaaS(后端即服務)服務,LeanCloud為應用開發提供后端服務解決方案,包括數據存儲、用戶管理、實時消息和推送、應用統計、社交分享等服務。通過集成SDK或嵌入REST API,實現云端數據的增刪改查,并通過CDN進行分發加速,提供離線數據分析,具備嚴格的訪問控制協議,確保數據的安全性[6]。

2.2融云即時通訊云服務

即時通訊模塊采用融云提供的即時通訊云服務,融云為互聯網、移動互聯網開發者提供免費的即時通訊基礎能力和云端服務。通過融云平臺,開發者不必搭建服務端硬件環境,就可以將即時通訊、實時網絡能力快速集成至應用中。

2.3MVC設計模式

MVC把軟件系統分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller)。是一種軟件設計典范,用一種業務邏輯和數據顯式分離的方法組織代碼,將業務邏輯聚集到一個部件里面,在界面和用戶圍繞數據的交互能被改進和個性化定制的同時而不需要重新編寫業務邏輯。MVC被獨特的發展起來用于映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。

2.4IOS系統

IOS的系統架構從低到高分為四個層次:核心操作系統層(Core OS Layer),核心服務層(Core Services Layer),媒體層(Media Layer),可觸摸層(Cocoa Touch Layer)。

Core OS是核心操作系統層,它包括內存管理、文件系統、電源管理以及一些其他的操作系統任務;Core Services是為APP提供基礎的系統服務,核心的服務框架是CoreFoundation.framework和Foundation. framework[7-8];Media主要是為APP的圖片、音頻、視頻等方面提供服務[9];Cocoa Touch是最上面一層,為APP開發提供了各種有用的框架,這些框架包括UIKit框架、Address Book UI框架、Game Kit框架等。

3 即時通訊軟件的實現

該即時通訊軟件采用C/S體系結構,并采用LeanCloud后端云服務充當數據存儲的后臺,融云提供的即時通訊云服務充當客戶端之間即時通訊的橋梁。下面主要介紹用戶界面、即時通訊模塊、通訊錄管理模塊以及數據庫的設計和實現。部分功能實現參照微信軟件的服務插件[10]。

3.1數據庫的設計

軟件系統總計設計了5張數據庫表,分別為:用戶信息User表、好友關系Followee表、好友狀態Status表、狀態評論Comment表、上傳文件File表。

用戶信息包括手機號碼、密碼、昵稱、頭像、性別、地區、個性簽名、手機號碼是否已驗證、用戶創建時間和更新時間等。

好友關系信息包括好友id、用戶id、創建時間、更新時間,好友關系表用于保存用戶兩兩互為好友的關系。

好友狀態包括狀態內容、圖片、發布者id、點贊用戶id、評論id,創建時間、更新時間,其中狀態內容和狀態圖片不能同時為空,可能存在多個點贊用戶和多個評論。

狀態評論信息包括評論人id、評論人昵稱、評論內容、被評論人id、被評論狀態id、創建時間、更新時間。

上傳文件信息包括文件鏈接、文件名稱。文件媒體類型、創建時間、更新時間。

3.2用戶界面的實現

即時通訊社交軟件的用戶界面主要使用Xco1de中提供的Interface Builder工具Storyboard來完成,使用Storyboard實現界面效果直觀、界面跳轉邏輯清晰,能夠有效提升開發效率,同時配合Autolayout技術來適配屏幕尺寸不同的設備十分方便。

以用戶登錄界面為例,講述如何通過Storyboard來構造用戶界面。

①創建StoryBoard文件。在打開工程,點擊File>New>File>User Interface > Storyboard,填寫Storyboard文件名稱,選擇存儲路徑,完成創建。操作界面如圖2所示。

圖2 創建Storyboard操作界面圖

3.3即時通訊模塊的實現

即時通訊模塊集成了融云提供的SDK,該模塊需要實現私聊和群聊功能,發送的消息類型包括文字、表情、圖片、語音、位置、語音通話。實現過程如下:

①初始化一個聊天界面:

即時通訊模塊的聊天實現效果如圖3所示。

3.4社交模塊的實現

好友狀態查看的實現:點擊朋友圈,進入查看好友動態頁面,每一條動態可以包含文字或圖片,文字內容自動計算高度,圖片采用九宮格式布局[11]。用戶可以對好友發布的動態進行點贊或者評論,被點贊或評論后,用戶會受到一條系統消息,點擊消息可以查看點贊和評論。

①文字狀態的發布:長按好友狀態查看頁面的相機按鈕,可以進入文字信息發布頁面,填寫文字內容后,點擊發布按鈕,將狀態信息上傳到LeanCloud服務器中,上傳后跳轉到好友狀態查看頁面,可以看到剛剛發布的狀態。

②圖片狀態的發布,點擊好友狀態查看頁面的相機按鈕,選擇將要發布的圖片的來源,分別有通過攝像頭拍攝和讀取相冊中的圖片,選擇圖片后,可以繼續填寫文字信息,點擊發布按鈕,將狀態信息上傳到LeanCloud服務器中,上傳后跳轉到好友狀態查看頁面,可以看到剛剛發布的狀態。

圖3 即時通訊聊天功能效果圖

4 結語

建立在IOS平臺的即時通訊社交軟件為使用IOS設備的用戶提供了一種隨時隨地與好友溝通的方式,同時也是一個分享和記錄個人生活的社交平臺。

基于LeanCloud提供的云服務,實現了IOS平臺的即時通訊軟件[17]。軟件實現了用戶注冊登錄、富媒體信息通訊、小游戲、購物、修改個人信息等一系列功能操作。系統的文件存儲使用了LeanCloud提供的后端云服務,發送富媒體消息和語音通話功能由融云即時通訊后端云服務提供支持,并使用了CocoaPods充當第三庫集成工具,Github作為源碼版本管理工具。該軟件為使用IOS設備的用戶提供了一種隨時隨地與好友溝通的方式,同時也是一個分享和記錄個人生活的社交平臺,并且也為開發類似軟件提供了一個借鑒。由于云平臺使用的限制,該系統未來在視頻的支持和附近地理位置服務方面需要進一步加強和改進。

[1] CuriosityChina. 2015微信用戶數據報告[EB/OL]. http:// www.cac.gov.cn/2015-08/24/c_1116346585.htm. 2015/2015-12-25.

[2] 單文盛. 淺析即時通訊軟件業的現狀和發展[J]. 中國高新技術企業, 2009, 11: 77-79.

[3] 段忠祥. 基于云計算的網絡平臺共享資源模型的建設[J].軟件, 2013, 34(5): 119-121.

[4] 熊敏, 林榮恒, 鄒華. 云計算環境下的自適應資源監測模型設計[J]. 新型工業化, 2012, 2(11): 25-31.

[5] 王小亮, 劉彬, 王春露. 云計算可信機制的有效性評估方法研究[J]. 新型工業化, 2012, 2(12): 47-55.

[6] 北京云中融信網絡科技有限公司. 融云SDK 2.0文檔[EB/OL]. http://www.rongcloud.cn/docs/.2015/2015-12-26.

[7] 孫王. 基于XMPP的iOS平臺即時通訊客戶端的研究與實現[D], 青島: 中國海洋大學, 2015.

[8] 周建亮, 朱曉民. 基于iOS平臺智能點餐系統的設計和實現[J]. 軟件, 2015, 36(1): 131-134.

[9] Carlo Chung. Objective-C編程之道: iOS設計模式解析[M].北京: 人民郵電出版社, 2011.

[10] 白雪竹, 郭青. 微信—從即時通訊工具到平臺級生態系統[J]. 新媒體研究, 2014, 36(2): 130-133.

[11] 黃天柱, 涂時亮. IOS開發UITableView加載圖片的內存管理[J]. 計算機系統應用, 2012, 21(09): 113-118.

[12] Wang S, Zheng Z, Wu Z, Lyu M, Yang F. Reputation Measurement and Malicious Feedback Rating Prevention in Web Service Recommendation Systems. IEEE Transactions on Services Computing, 2015, 8(5): 755-767.

[13] Wang S, Liu Z, Sun Q, Zou H, Yang F. Towards an accurate evaluation of quality of cloud service in service-oriented cloud computing. Journal of Intelligent Manufacturing, 2014, 25(2): 283-291.

[14] Wang S, Sun Q, Zou H, Yang F. Particle Swarm Optimization with Skyline Operator for Fast Cloud-based Web Service Composition. Mobile Networks and Applications, 2013, 18(1): 116-121.

[15] 王尚廣, 孫其博, 楊放春. 基于云模型的不確定性QoS感知的Skyline服務選擇. 軟件學報, 2012, 23(6): 1397-1412.

[16] 王尚廣, 孫其博, 楊放春. Web服務選擇中信譽度評估方法研究. 軟件學報, 2012, 23(6): 1350-1367.

[17] 寧柏鋒. 統一電網資源云服務平臺的設計與應用[J]. 電力信息與通信技術, 2016, 14(2): 143-146.

A Design and Implementation of Instant Messaging Software Based on Cloud Services

LI Yang1,2, HU Teng-yu1,2, PENG Zhao-yi1,2
(1. School of Computer and Communication, Hunan University of Technology, Hunan, Zhuzhou, 412007, china; (2. Key Laboratory of Intelligent Information Perception and Processing Technology (Hunan Province), Zhuzhou 412007, China)

In order to adapt to the development of mobile communication technology and to meet the requirements of people instant messaging, an instant messaging software was designed and implemented based on cloud services on the IOS platform. The software was developed by Objective-C language and Xcode, its database service was provided by cloud services of LeanCloud, and the user interface was developed by the Storyboard and Autolayout technology, and the user’s screen size is suitable for various users. The software has realized the instant messaging function of rich media such as speeches, texts and pictures. It could improve the ability of people's communication, and reduce the communication cost.

Instant messaging; Cloud service; IOS; Objective-C

TP311.52

A

10.3969/j.issn.1003-6970.2016.08.009

2015湖南省教育廳科研項目(15C0402)。

李楊(1994-),男,2013級本科生,主要研究方向:移動軟件系統開發;胡騰宇(1995-),男,2012級本科生,主要研究方向:移動軟件系統開發。

通訊聯系人: 彭召意(1968-),男,教授,主要研究方向:模式識別、計算機應用技術,(中國計算機學會會員(E200034683M))。

猜你喜歡
用戶功能服務
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
關于非首都功能疏解的幾點思考
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
主站蜘蛛池模板: 国产精品部在线观看| 国产精品丝袜在线| 丝袜国产一区| 国产乱码精品一区二区三区中文| 日韩视频精品在线| 国产二级毛片| 精品久久国产综合精麻豆| 免费看a级毛片| 丝袜亚洲综合| 欧美色视频在线| 久久美女精品| 国产激情无码一区二区APP | 天天摸夜夜操| 91无码国产视频| 欧美日韩精品在线播放| 69精品在线观看| 波多野吉衣一区二区三区av| 国内黄色精品| 亚洲a级毛片| 国产一区二区三区在线观看免费| 蜜芽一区二区国产精品| 久久综合丝袜日本网| 精品国产免费观看| 亚洲一区二区成人| 久久精品无码专区免费| 日韩欧美色综合| 欧美日韩成人| 国产精品不卡永久免费| 国产97视频在线观看| av在线人妻熟妇| 自拍偷拍欧美| 毛片a级毛片免费观看免下载| 人人艹人人爽| 国产欧美日韩综合一区在线播放| 欧洲成人免费视频| a级毛片免费网站| 区国产精品搜索视频| 久久午夜夜伦鲁鲁片无码免费| 精品国产免费第一区二区三区日韩| 日本成人一区| 91福利免费| 小说 亚洲 无码 精品| 国产成人精品免费av| 日韩视频福利| A级毛片高清免费视频就| 国产天天射| 91欧美亚洲国产五月天| 免费一级全黄少妇性色生活片| 亚洲综合九九| 国产精品永久久久久| 99视频在线免费| 国产日韩精品欧美一区灰| AV熟女乱| 免费亚洲成人| 国产成人久视频免费| 亚洲人成人伊人成综合网无码| a级毛片网| 99国产在线视频| 制服无码网站| 亚洲清纯自偷自拍另类专区| 国产91视频观看| 久久精品女人天堂aaa| 亚洲二区视频| 日韩在线播放中文字幕| www欧美在线观看| 亚洲成a人片7777| 久久人人97超碰人人澡爱香蕉| 99视频在线观看免费| 精品国产aⅴ一区二区三区 | 精品一区二区三区四区五区| 手机在线看片不卡中文字幕| 欧美一级在线| 亚洲精品亚洲人成在线| 深爱婷婷激情网| 毛片在线看网站| 亚洲一级毛片在线播放| 亚洲精品视频免费观看| 成人噜噜噜视频在线观看| 国产亚洲高清视频| 精品国产自在在线在线观看| 91精品网站| 国产浮力第一页永久地址|