2014年4月3日 星期四

WebRTC二部曲-RTCPeerConnection-上部(架構介紹)

RTCPeerConnection讓我們可以簡單的實現網頁上的p2p傳送機制,在接下來的文章中要帶大家來了解這個陌生的朋友

架構圖

先看架構圖,待會看步驟會比較清楚

步驟

在開始實作之前,我先來解釋RTCPeerConnection的運作步驟,我以擬人化的方式講解,應該比較可以理解 :

  1. 有一天Peter(Caller)想要寫信(stream)給Sunny(Callee)
  2. Peter(Caller)先將信封袋(RTCPeerConnection)給準備好,然後拿到自己家的資料(CreateOffer)並記下自己的地址(SDP)
  3. 但是Peter(Caller)並不知道Sunny(Callee)在哪裡,於是Peter(Caller)將自己的地址(SDP)送到一個收發站(server side)去等待Sunny(Callee)的到來
  4. Sunny(Callee)她也想要跟Peter(Caller)寫信(stream)了,Sunny(Callee)到了收發站(server side)發現已經有Peter(Caller)的地址(SDP)了,於是Sunny(Callee)把Peter(Caller)的地址(SDP)記起來然後把自己的地址(SDP)寫在信封袋(RTCPeerConnection)上回傳給Peter(Caller),這樣一來雙方都有對方和自己的地址(SDP)了
  5. 同時,由於Peter(Caller)及Sunny(Callee)他們都被困在城牆(NAT or Fire Wall)內,所以就必須要把信交給人力資源銀行(ICE server),他們會找到可以送信的人(candidate)
  6. 於是Peter(Caller)和Sunny(Callee)終於可以藉由RTCPeerConnection傳信了,YA!!
我覺得RTCPeerConnection最難的就在於要理解他的運行,只要了解了,我們實作起來就會輕鬆許多,所以這次就到這裡,先把這寫消化,我們下次再來講實作的部分。

沒有留言:

張貼留言