網路即時通訊的原理和實現論文

網路即時通訊的原理和實現論文

  【摘要】:網路即時通訊對於軍事和民用領域均具有非常重要的作用,故對其研究具有非常重要的意義,本文以下內容將對網路即時通訊的原理和實現進行分析和探討,以供參考。

  【關鍵詞】:網路;即時通訊;原理;實現

  1、前言

  網路即時通訊最初與軍事上的需求緊密相關,然而隨著計算機技術的飛速發展、網路頻寬及處理能力的急劇增加,即時系統逐漸在民用領域也得到了廣泛的應用,而且即時系統也由單機集中處理的系統發展為分散式即時系統,使得許多分散式即時應用得以實現,所以對其進行研究更具有很現實的意義,本文以下內容將對網路即時通訊的原理和實現進行分析和探討,以供參考。

  2、網路即時通訊的原理

  即時通訊是一種基於網路的通訊技術, 涉及到IP/TCP/UDP/Sockets、P2P、C/S、多媒體音影片編解碼/傳送、Web Service等多種技術手段。無論即時通訊系統的功能如何複雜,它們大都基於相同的技術原理,主要包括客戶/伺服器(C/S)通訊模式和對等通訊(P2P)模式。

  C/S結構以資料庫服務為核心將連線在網路中的多個計算機形成一個有機的整體,客戶機(Client)和伺服器(Server)分別完成不同的功能。但在客戶/伺服器結構中,多個客戶機並行操作,存在更新丟失和多使用者控制問題。因此,在設計時要充分考慮資訊處理的複雜程度來選擇合適的結構。實際應用中,可以採用三層C/S結構,三層C/S結構與中介軟體模型非常相似,由基於工作站的客戶層、基於伺服器的中間層和基於主機的資料層組成。在三層結構中,客戶不產生資料庫查詢命令,它訪問伺服器上的中間層,由中間層產生資料庫查詢命令。三層C/S結構便於工作部署,客戶層主要處理互動介面,中間層表達事務邏輯,資料層負責管理資料來源和可選的源資料轉換。

  P2P模式是非中心結構的對等通訊模式,每一個客戶(Peer)都是平等的參與 者,承擔服務使用者和服務提供者兩個角色。客戶之間進行直接通訊,可充分利用網路頻寬,減少網路的擁塞狀況,使資源的利用率大大提高。同時由於沒有中央節點的`集中控制,系統的伸縮性較強,也能避免單點故障,提高系統的容錯性

  能。但由於P2P網路的分散性、自治性、動態性等特點,造成了某些情況下客戶的訪問結果是不可預見的。例如,一個請求可能得不到任何應答訊息的反饋。當前使用的IM系統大都組合使用了C/S和P2P模式。在登入IM進行身份認證階段是工作在C/S方式,隨後如果客戶端之間可以直接通訊則使用P2P方式工作,否則以C/S方式透過IM伺服器通訊。

  3、網路即時通訊概要設計

  3.1,拓撲結構

  TCP和UDP是TCP/IP協議的兩個主要傳輸協議,TCP是面向連線的,UDP是面向無連線的,而實際上他們最大的區別在於為應用協議提供不同的服務,TCP協議為應用程式提供點到點的通訊。

  UDP為應用程式提供多對多的通訊,UDP在進行通訊的應用的數量上面,具有更大的靈活性,多個應用可以向一個接收方傳送報文,一個傳送方向也可以向多個接收方傳送報文。UDP還可以使用底層網路的廣播和組播設施交付報文。

  由於TCP和UDP得語義不同,如果要考慮應用協議所要求的語義,設計者就不能不再面向連線和無連線的傳輸協議間作出選擇,利用面向連線的TCP協議,可以大大簡化應用協議的設計工作。由於UDP不提供可靠的交付,無連線傳輸要求應用協議提供可靠性,並在必要時,使用一種稱為自適應重傳的複雜技術。

  3.2,功能設計

  使用者註冊模組:使用者需要正確填寫自己的使用者名稱、密碼、真實姓名、性別、個性簽名等資訊,如果使用者名稱合法且未被佔用,則可以註冊成功。

  使用者登入模組:使用者需要正確填寫自己的使用者名稱、密碼,如果驗證成功,則可以進入到JQQ即時通訊系統主面板,與線上好友進行即時通訊。

  分組管理模組:包括對分組的新增與刪除,新增分組過程中,分組不能為空並且不能有重複的分組,刪除分組過程中,只要選定要刪除的分組,即可刪除成功。

  好友管理模組:包括好友的新增與刪除,新增好友過程中,好友不能為空,不能加自己為好友,要新增的好友必須存在並且不能有重複的好友。刪除好友的過程中,只要選定所屬分組下的相應好友,即可刪除成功。

  查詢使用者模組:列出了除了自己的所有使用者的基本相信包括是否線上,使用者可以根據需要加為好友並進行通訊,對於線上狀態的好友可以進行線上交流。

  即時通訊模組:其是本系統最關鍵的環節與目的所在,使用者可以選擇分組中的線上好友進行即時通訊,並且當交流完畢時自動儲存聊天記錄。

  聊天記錄模組:主要記錄了與相應好友的所有聊天記錄,可以方便的瀏覽一些重要資訊和談論話題等。

  3.3,即時通訊系統關係型資料庫的實現

  Microsoft SQL Server 2008是一個高效能的客戶端/伺服器結構的關係資料庫管理系統,SQL Server是為支援高容量的事務處理以及資料倉庫和決策支援系統而設計的,它執行在Microsoft Windows NT4或Microsoft Windows 2000 Server上,基於使用Intel處理器的網路,也能夠為其他的Microsoft作業系統提供很多客戶端工具和網路介面。由於SQL Server的開放結構,其他系統也能和它互動操作。使用它可以完成事務處理、儲存和分析資料以及建立新的應用程式。

  4、結尾

  本文以上內容對網路即時通訊的原理和實現進行了分析和探討,表達了觀點和見解,本人相信,隨著計算機技術的發展,網路即時通訊必將以更加先進的形式出現,而作為軟體從業人員,也只有不斷學習和實踐,才能為軟體工程發展做出更大的貢獻。

最近訪問