繁体   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