libjingle 部分 P2P傳輸

2021-07-25 06:02:11 字數 1165 閱讀 7185

1, libjing 基本結構。

mediachannel: **相關功能的抽象,接收capture/network的資料,處理後傳送給其他模組。實際的處理工作需要有繼承類呼叫其他模組實現。

transprotchannel: 提供抽象的p2p傳輸功能。實現ice協議,ice協商後,會選擇最好的方法傳送。對外只暴露傳送和接收的介面。

port: 具體的傳輸模組。派生出各種埠型別,如udp/stun/tcp/turn等。 具體的埠根據相應的協議傳送資料。

candidate: 對本端網路通訊能力的一種描述。對於udp/stun協議,candidate僅包含ip及埠資訊,對於trun,包含turn server的ip,埠,以及使用者名稱密碼等。candidate由本端**生成。生成後通過信令傳送給對端。對端會在本端所有的candidate中選擇乙個最好的建立與本端的連線。

basechannel: 管理meidachannel和transportchannel並維護本端和對端的**描述資訊(description)

2, ice 相關

本端會生成所有網路介面對應不同協議的candidate。 每乙個candidate實際上描述了和自己的通訊方式。比如乙個stun型別的candidate會包含本端在防火牆外的ip

和埠型別。本端會通過信令協議(sip/xmpp/http)將自己的所有的candidate傳送給對端。對端接收到後,會嘗試連線, 並找到乙個最好的連線方式建立和本端的

連線。之後的資料將通過此連線傳輸。

3, 啟動過程以及物件的建立

4, 主要物件關係media部分

5, 主要物件關係p2p部分

認識P2P,利用P2P

是peer to peer的縮寫 好象還看到過文章說是point to point,我也不清楚,網上的資料也不清楚,鬱悶 peer在英語裡有 地位 能力等 同等者 同事 和 夥伴 等意義。這樣一來,p2p也就可以理解為 夥伴對夥伴 的意思,或稱為對等聯網。目前人們認為其在加強網路上人的交流 檔案交換...

P2P網路模型

1 靜態配置模型 靜態配置模型是一種相對靜態而簡單的對等點定位模型。在該模型中,每個對等點都確切地知道存在於其p2p 網路中其它對等點的位置以及它們所提供的共享資源內容。缺點 網路無法應付不能預知的隨機事件和臨時變更,比如對等點隨機進入和退出網路。優點 整個網路在外部攻擊面前表現得很穩固。2 動態配...

P2P路由演算法

p2p路由演算法 資源定位方法 dht distributed hash table 演算法 思想 每乙份資源都由一組關鍵字標示,系統對其中的每乙個關鍵字進行hash,根據hash的結果確定該關鍵字由哪個使用者負責儲存,使用者搜尋的同時,用同樣的演算法計算每乙個字的hash,再根據hash知道該關鍵...