2016-05-16 24 views
0

我寫了一個簡單的代碼來測試RTCPeerconnection信號上RTCPeerconnection

peer = new RTCPeerconnection(...); 
peer.onicecandidate = function(evt){ 
    console.log(evt.candidate); 
    // into the console 
    // RTCIceCandidate {candidate: "candidate:... 1 udp ", sdpMLineIndex:0, sdpMid:"data"} 
    // RTCIceCandidate {candidate: "candidate:... 2 udp ", sdpMLineIndex:0, sdpMid:"data"} 
} 

我希望它發送給信令服務器,但我接受它的2倍和2個不同的值。

我是否記錄了所有候選值?

當我從信令服務器收到候選信息時,是否需要接收關於同一對等體的所有值?

我有太多,localDescription // {type: "offer", sdp: "v=0↵o=- 6483...48 2 IN IP4 ...}

我是否將其發送到信令服務器並接收其他同行的描述?

回答

1

我認爲你需要在WebRTC上做更多的閱讀,對於單個PeerConnection,可能有很多ICE候選者,你通常通過某個信令服務器將它發送給遠程對等,沒有意義將它存儲在服務器中,因爲它們可能會在一段時間後過期。

this and this可能是閱讀基本知識的好地方。

+0

我的想法是:我得到我的主機信息(sdp和候選人),我記錄到數據庫中。如果其他主機連接,我從服務器接收信息,這樣我可以設置RTCPeerconnection,並通過dataChannel我可以交換消息惠普其他同行...我是如此錯誤? –

+0

我不認爲你可以存儲冰的候選人,他們可能超時15分鐘後... – mido

+0

好吧,現在我有點混亂。 我相信,如果host_A和host_B想要溝通,他們必須知道sdp和候選信息,因爲在那些信息中有公共ip和其他有用的信息,並且交換這些信息的方式是使用Ajax和Sent-Server Event信令機制)。 我搜索了很久,有些人對我說,我需要一個交換信息的信號機制。 –