何杰惠
(陜西國防工業職業技術學院 計算機和軟件學院,西安 710300)
隨著IM(Instant Messaging)即時通信技術的飛速發展,市場上出現了一系列即時通信客戶端如米聊、移動飛信以及騰訊微信等[1],即時通信應用能夠為用戶提供即時消息收發以及文件傳輸等一系列即時通信服務。當前的即時通信大都采用XMPP協議[2]進行數據交互,XMPP協議基于TCP傳輸XML數據流,能夠有效保證數據的安全性且易于拓展,在Web應用中集成即時通信服務能夠極大地方便系統用戶的在線交流,增加用戶粘性。
WebRTC(Web Real-Time Communications)定義了一系列標準的JavaScript接口[3],旨在將多媒體數據的處理能力嵌入到瀏覽器中,使得瀏覽器與瀏覽器之間能夠建立點對點的直連媒體數據通道,在不依賴服務器的情況下進行多媒體數據的傳輸[4]。WebRTC技術由Google 2011年5月開源并率先在Chrome瀏覽器上得到了良好的支持,目前,Firefox及Opera的高版本瀏覽器也已實現了WebRTC技術。
本文提出了一種基于Web前端開發的即時消息通信方案,主要提出基于Web前端開發的用戶單聊、群聊、消息記錄的瀏覽器端存儲以及文件傳輸功能的設計與實現。其中,采用基于XMPP協議的環信服務器作為XMPP服務器用以實現即時消息通信功能;采用IndexedDB非關系型數據庫用于存儲即時消息通信記錄;采用WebRTC技術建立客戶端之間的雙向數據傳輸通道,并在此之上實現客戶端之間的即時文件傳輸功能。
即時通信技術[5]能夠為用戶提供即時通信服務,其主要優勢在于即時性和交互性。……