[英]Golang `pions` lib example issue
我剛剛開始用 Go 嘗試 WebRTC 並下載了pions/webrtc庫,但我堅持使用它的data-channels
示例。
正如它在文檔中所寫的那樣,我打開了jsfiddle 客戶端示例。
然后我在服務器上的/go/src/github.com/pions/webrtc/examples/data-channels
文件夾中運行go run main.go
命令以啟動數據通道。
之后,我從 jsfiddle 示例復制Browser base64 Session Description
並將其粘貼到我的終端中, data-channels
go 腳本正在運行,它生成Golang base64 Session Description
代碼,我將其粘貼到 jsfiddle 示例中,然后按Sart session
按鈕。
並且無法建立連接:(
這是我的客戶端 jsfiddle 示例:
這是我的服務器端 go 腳本:
我究竟做錯了什么?
感謝您使用 pion-WebRTC(我是開發人員之一!)
WebRTC 使用一種稱為 ICE 的技術來允許對等方相互交談。 兩個對等點通過 SDP(您粘貼的文本)交換 IP 地址,然后它們嘗試通過在彼此之間發送小的 UDP 數據包來進行通信。 一旦兩個 IP 地址通過 ICE 成功通信,其余的 WebRTC 步驟就可以繼續。 對你來說,這個過程失敗了。 我不知道如何/為什么。 防火牆、VPN 等……都可能導致問題。
您將不得不調試和檢查不同的場景。 我會嘗試在您的本地 PC 上運行這些示例。 如果可行,那么也許可以在不同的服務器之間嘗試。 在這里提供幫助的一個很好的工具是tcpdump
,它可以顯示 UDP 數據包是否到達。 我通常使用tcpdump -i any udp and inbound
我們最近還添加了 IPv6 支持,因此可能值得大師嘗試一下,看看是否有幫助! 希望這會有所幫助,但如果您仍有問題,請隨時提出更多問題。 我們也可以通過我們的Slack 頻道聯系您,您可以在這里注冊,然后很樂意聊天!
我遇到了類似的問題,我解決了
回聲 $BROWSER_SDP | 。/主要的
BROWSER_SDP 是瀏覽器中的會話描述,main 是通過 go build main.go 生成的 exe(您可以通過 mv 重命名 exe)。 這可以確保將 SDP 傳輸到服務器,這非常重要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.