我有一個實時視頻聊天應用程序,我使用支持STUN/TURN和UPD/TCP傳輸的TURN服務器。檢查WebRTC連接 - 可靠的方法
有時用戶可以連接到塊那麼多的端口和協議的WebRTC連接只是不能發生網絡(通常這些都是企業網絡)。我想在用戶嘗試連接對方之前檢查WebRTC連接是否可能(實際上,執行技術檢查)。
我該怎麼辦?想法,我有我的頭:
- 嘗試通過的WebRTC下載數據的託管塊(音頻文件,例如) - 這可能和這會是足夠的,以確保入站和出站連接是打開?
- 使用TURN服務器作爲主機做出的連接,看看它是否失敗(不知道如果我能做到這一點或沒有)
- 使用Flash來嘗試下載/上傳數據塊通過特定的端口和協議。甚至可能使用Cirrus。但是,我不確定這個測試從WebRTC的準確性來看是否準確。
- 有沒有其他想法?
附加要求:檢查技術必須支持Chrome,Opera和Firefox。最好也是通過Temasys插件的IE/Safari。
第1版 - 收集ICE考生是一個好主意,但它不是100%可靠的。一旦我在我的應用程序中檢查了日誌,它實際上收集了中繼ICE候選者,但視頻/音頻傳輸失敗。在Apprtc上測試也得到了相同的結果。
您確定此方法可靠嗎?請參閱此問題的第1版。 – igorpavlov
告訴本地客戶是否能夠聯繫是可靠的。無法確定遠程客戶端是否可以提前做同樣的事情。 –
這個和其他答案很好的結合在一起,實際上創建了兩個與icetransports設置爲中繼的對等連接,並且實際上通過TURN服務器創建一個數據通道返回到「自己」,然後通過它抽取一些消息。檢查您是否可以獲得中繼候選人以及建立中繼數據通道。 – xdumaine