我寫一個WebRTC應用外,雖然一切正常,我的局域網內。但是,當對等體處於不同網絡時,我有一個ICE Failed
錯誤。的WebRTC ICE失敗LAN
我的STUN服務器返回的公網IP的候選人,所以我認爲這是正確設置。問題是候選IP不是「正確配對」。瀏覽器總是嘗試將一個公共IP與一個私有IP連接,因此連接失敗(請參閱Candidate Pairs)。
這裏有什麼問題?信令服務器還是rtcpeerconnection
配置?
我寫一個WebRTC應用外,雖然一切正常,我的局域網內。但是,當對等體處於不同網絡時,我有一個ICE Failed
錯誤。的WebRTC ICE失敗LAN
我的STUN服務器返回的公網IP的候選人,所以我認爲這是正確設置。問題是候選IP不是「正確配對」。瀏覽器總是嘗試將一個公共IP與一個私有IP連接,因此連接失敗(請參閱Candidate Pairs)。
這裏有什麼問題?信令服務器還是rtcpeerconnection
配置?
只使用本地主機和服務器反射候選如果你的NAT允許進入的數據包從其他同行,通常NAT不允許從未知到NAT源傳入的數據包,你只能連接。你可以做一個NAT發現下面的RFC-3489你的WebRTC實現之外(過時的,雖然,但仍然有用),或只是創建NAT不知道NAT類型,將工作結合,如果你是落後端口受限錐形或全錐形NAT類型。最簡單的辦法使用的WebRTC將是使用TURN服務器具有中繼候選者進行連接,如果你不想做NAT的發現和應用一些智能穿越NAT。
有點真實。 STUN的重點在於識別服務器反射候選,這樣WebRTC中的ICE算法就可以對兼容的NAT執行UDP打孔步驟。只要您(或其他節點)不在對稱NAT或限制性防火牆的後面,STUN的成功率就很高(但並非完美)。 – selbie
我認爲這是行不通的,因爲網絡(即防火牆,對稱NAT等),有東西擋你的P2P流量。你可以嘗試使用TURN服務器嗎? –