耿昕
摘 ?要:隨著我國科學信息技術的不斷進步與發展,互聯網成為了人們日常生活中不可或缺的一部分。伴隨著時間的推移,人們對WEB應用的實效性要求逐漸地提高,進而傳統的Web實時通信傳輸已經無法滿足人們日益的需求。又加之,由于傳統的Web應用對于網絡資源不能充分的利用等各式各樣的缺點,從而給用戶帶來了不好的使用體驗。基于此,本文通過對Web前端開發模式下的即時通信進行相關的研究,進而實現了通信文件的即時傳輸,從而為系統提供了可靠的傳輸保證。
關鍵詞:Web前端開發;即時通信;通信文件;傳輸
在計算機信息技術得以迅速發展的背景下,最近一短時間即時通訊技術也得到了大踏步式的進步,進而使整個市場中出現了移動飛信、微信、QQ、TIM等一系列的即時通信的平臺。通過使用此信息的通訊方式可以很方便的向用戶進行相關文件的傳輸服務,與此同時對于相關信息也可以實時的進行收發。相對于即時通信來說,其內容涵蓋了XMPP協議。所謂的XMPP協議是指可擴展通訊和表示協議,其主要實現了數據的交互目標,并且此協議是以TCP為基準進而實現XML數據流的傳輸,進而為數據的安全提供了可靠的保障。
一、即時通信文件傳輸的方案設計
(一)結構設計
(1)WebRTC服務器
對于WebRTC服務器來說,其主要是與客戶端建立的Web進行連接的,與此同時在連接的過程當中實現實時網頁提議應答協議中消息的傳輸,進而讓不同的客戶端與客戶端之間進行相關的連接。但是,一般情況下WebRTC服務器在平常的時候都是與客戶端進行連接,從而達到轉發客戶端的信令消息的目的。
(2)中央服務器
對于中央處理器來說主要是負責對WebRTC服務器進行控制,當在服務器開啟或者關閉的情況下,所有的注銷、注冊信息都會在同一時間發送給中央服務器,而中央服務器在系統的運行過程中,利用心跳機制向WebRTC服務器定時發送注冊請求信息,進而確保WebRTC服務器運行狀態。
(3)環信服務器
對于環信服務器來說,其所扮演的角色類似于XMPP服務器,其主要是實現服務器與客戶端之間的雙線數據連接。與此同時,其可以有效的對客戶端之間的會話進行維護以及可以使用戶可以利用系統進行消息的發送,從而客戶端就顯示出XML數據,然后向換新服務器發送相關的數據信息。
(二)消息格式
首先要對實時網頁提議應答協議進行相關設計。此協議主要是應用在構建媒體通道的過程當中,在使用提問、回答的方式過程中實現與客戶端之間的信息交換,而實時網頁提議應答協議是會話初始協議的精簡版,從而為消息的擴展提供必要的幫助。該文件方案進行傳輸過程當中,主要是通過實時網頁提議應答協議對瀏覽器中相關的數據通道進行建立,進而將數據進行傳輸。
其次對文件的傳輸格式進行設計。在系統中每個客戶端之間是通過實時網頁提議應答協議對雙向的數據通道進行建立,進而在此通道的基礎上實現了點對點之間的數據傳輸。由于在互聯網傳輸的過程當中,往往會受到傳輸的數據容量的問題。所以,在傳輸文件時要分塊進行傳輸,然后在對文件進行重新組合,進而可以提升傳輸文件的效率和穩定性。在對此方案進行設計時,傳輸文件的消息格式主要是應用在傳輸文件的內容、描述文件消息以及請求文件重傳過程中。在進行消息編碼時,其消息的首位要確保是一個字節,主要是用作對不同消息類型的表示,而在字段方面,前兩個字節表示了消息自身的長度,以后的字節主要是用作傳遞消息的介質。
二、即時通信文件傳輸的關鍵流程設計
從本質上來說,在進行設計過程中最重要就是Web前端開發方式下對于即時通信文件傳輸的關鍵流程設計。其設計主要涵蓋了利用環信服務器當作XMPP服務器、對整個即時消息通信流程進行相關設計、利用WebRTC服務器技術創建客戶與客戶之間進行數據傳輸的通道。
首先要對以Web前端開發為基準的即時消息方案流程進行詳細的計劃與設計,然后選擇WebRTC技術創建客戶與客戶之間進行數據傳輸的通道,隨后再創建一次客戶與客戶之間進行數據傳輸的通道,最后使用創建的進行數據的傳輸。對即時消息通信流程設計進行整體性研究與分析,進而為客戶端與客戶端之間可以實現信息的通信起到了重要的保護作用。在一般情況下,在客戶端與環信服務器之間會建立一個套接字,然后利用環信服務器轉發XMPP的即時消息。與此同時,為了讓Web前端可以實現文件的傳輸功能,需要在信令服務器、系統客戶端進行WebSocket雙工通道的創建,然后再與實時網頁提議應答協議進行相互之間的連接,這樣做法主要是為了可以實現私網的穿越,在以上步驟都進行完畢之后就可以全面的建起客戶端與客戶端之間的數據傳輸通道。另外,客戶端與客戶端之間也可以利用此搭建的通道進行文件數據的直接傳輸,在文件數據傳輸過程中,主要是通過文件傳輸消息方式進行的,通過這種方式可以實現文件之間的重組,從而實現重新傳輸文件功能。
三、即時通信文件傳輸的方案的實現
此研究是基于Web前端開發為基準,并且在進行即時消息通信方案選擇時將環信即時通訊服務器作為XMPP服務器,與此同時在客戶端建立起XMPP消息的解析格式,然后利用所研究的即時消息通信方案,進而可以實現群聊的整體功能。
在進行即時消息存儲方案提出的時候,要把重心放在存儲即時消息的方面上,然后利用HTML5內部所存在的本地存儲器進行相關聯系人的有效存儲,其中包含了群組列表和好友列表。隨后,該方案提出在對即時消息內容進行存儲時要使用非關系型數據庫,而本地存儲器中存放著關鍵值的即時消息發送和收發主體的名字,就是所謂的標識符。而關鍵值的數據庫內部存儲指的是即時消息收發時間,標識符指的是即時消息所對應內容對象,其中包括消息收發時間等。除此之外,設計方案中還明確指出,IndexedDB可以是消息時間、收發時間等[1],進而有利于加快查詢數據的速度,提高了工作效率。
通過此方案實現了即時消息存儲系統,并且可以將在線、忙碌、離線等不同狀態的消息在進行相關的記錄之后進而發送給用戶,而用戶可以利用此系統查詢近幾天的所聯系的人,并可以根據時間的順序進行聊天記錄、通訊記錄的查詢,從而即時消息記錄功能真正的得以實現。基于Web方式所開發的文件傳輸,可以實現客戶端的文件傳輸功能,從而為多文件、單文件的傳輸提供了技術的保證。
四、即時通信文件傳輸的方案的測試
在此方案中所提出的基于Web前端開發的即時文件傳輸方案,可以實現客戶端與客戶端之間的數據傳輸,并且客戶端在進行文件數據傳輸時可以通過互聯網的方式進行,進而避免了服務器數據的轉發,進而提高了文件傳輸的速度。在實現即時消息系統的過程當中,在以互聯網相對穩定的情況下要對文件傳輸進行全方位的測試。隨后在進行即時消息系統性能測試時,可以在多個客戶端之間建立數據傳輸通道,進而可以讓更多的用戶加入到其中來,在用戶量得到提升之后,信令服務器所處理的數據也就逐漸的增加,從而會對客戶端與客戶端之間的連接時長產生影響。最后,通過研究分析可知,通過使用此文件傳輸方案,不僅提升了文件的傳輸效率,而且增強了文件傳輸的穩定性。
結語
綜上所述,本文主要是對基于Web前端開發的即時通訊文件傳輸進行詳細的分析與研究,并且通過利用環信即時通信服務器來當作XMPP服務器,進而對即時通信文件傳輸進行實現。在對整個系統進行測試之后,發現該方案是切實可行的,并且提升和增強了通信文件在傳輸過程當中的效率和可靠性。
參考文獻
[1] ?蔣玲玲.基于Web前端開發的即時通信文件傳輸[J/OL].電子技術與軟件工程,2019(14):59-60[2020-04-30].