gpt4 book ai didi

javascript - 如何在 webrtc 中的冰候选人上使用 .toJSON() 是 javascript?

转载 作者:行者123 更新时间:2023-12-04 10:06:14 25 4
gpt4 key购买 nike

在Javascript中,我试图通过websockets(json)发送ice候选人。

我从这个 sample 开始.

在我使用 Candidate.toJSON() 和/或 JSON.stringify() 之前,候选人看起来像这样:

address: "192.168.1.2"
candidate: "candidate:149645548 1 udp 1685987071 192.168.1.2 50697 typ srflx raddr 192.168.8.162 rport 50697 generation 0 ufrag o8rk network-id 1 network-cost 10"
component: "rtp"
foundation: "149645548"
port: 50697
priority: 1685987071
protocol: "udp"
relatedAddress: "192.168.8.162"
relatedPort: 50697
sdpMLineIndex: 1
sdpMid: "1"
tcpType: ""
type: "srflx"
usernameFragment: "o8rk"
__proto__: RTCIceCandidate

在我使用推荐的 .toJSON 后 here ,它看起来像这样:
candidate: "candidate:149645548 1 udp 1685987071 192.168.1.2 50697 typ srflx raddr 192.168.8.162 rport 50697 generation 0 ufrag o8rk network-id 1 network-cost 10"
sdpMLineIndex: 1
sdpMid: "1"
__proto__: Object

如您所见,缺少许多属性。最重要的是,当我尝试像同一个链接建议的那样运行“toString()”时,该方法不存在。当我尝试 JSON.parse 时,我得到一个“位置 1 的 JSON 中的意外标记 o”

我认为问题在于这有 原型(prototype) 还是因为它的类型?但我似乎不能再进一步了。

任何对 jsonify 和发送它的帮助将不胜感激。

最佳答案

这是故意的,见the spec .
附加属性已编码在候选字符串中,因此如果您在远程端执行此操作:

new RTCIceCandidate({candidate: "candidate:149645548 1 udp 1685987071 192.168.1.2 50697 typ srflx raddr 192.168.8.162 rport 50697 generation 0 ufrag o8rk network-id 1 network-cost 10", sdpMid: 0})

属性将被恢复。

关于javascript - 如何在 webrtc 中的冰候选人上使用 .toJSON() 是 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61577412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com