簡體   English   中英

Golang `pions` lib 示例問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM