Golang中Webrtc Data Channel一直处于连接状态无法打开的解决方法
Golang中Webrtc Data Channel一直处于连接状态无法打开的解决方法 你好,
我正在尝试使用Go语言中的WebRTC数据通道发送消息。但数据通道的readyState始终处于connecting状态,导致我无法发送消息。有人能帮我找出问题所在吗?
package main
import (
"fmt"
"log"
"github.com/pion/webrtc/v3"
)
func main() {
// 设置WebRTC连接
peerConnection, err := webrtc.NewPeerConnection(webrtc.Configuration{
ICEServers: []webrtc.ICEServer{
{
URLs: []string{"stun:stun.l.google.com:19302"},
},
},
})
if err != nil {
log.Fatal(err)
}
// 设置数据通道
dataChannel, err := peerConnection.CreateDataChannel("myDataChannel", nil)
if err != nil {
log.Fatal(err)
}
// 设置通道消息处理程序
dataChannel.OnOpen(func() {
fmt.Println("数据通道已打开")
})
dataChannel.OnMessage(func(msg webrtc.DataChannelMessage) {
fmt.Printf("来自数据通道的消息:%s\n", string(msg.Data))
})
fmt.Println(dataChannel.ReadyState())
// 通过数据通道发送消息
message := []byte("Hello, world!")
if err := dataChannel.Send(message); err != nil {
log.Fatal(err)
}
// 程序结束时关闭连接
defer peerConnection.Close()
// 无限等待
select {}
}
更多关于Golang中Webrtc Data Channel一直处于连接状态无法打开的解决方法的实战教程也可以访问 https://www.itying.com/category-94-b0.html
2 回复
太棒了
更多关于Golang中Webrtc Data Channel一直处于连接状态无法打开的解决方法的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
ef_manu:
URLs: []string{"stun:<http://stun.l.google.com:19302\"|stun.l.google.com:19302>"},
这看起来不像一个有效的URL。在你的代码中它实际是这样的吗,还是在复制粘贴到这个论坛时发生了什么?

