我正在使用WebRTC,createDataChannel
,参数label
的功能是什么?我没有找到任何关于它的信息。
来自MDN
的APIRTCDataChannel createDataChannel(DOMString标签,可选 RTCDataChannelInit dataChannelDict);
如何正确使用它?
例如, A 是发送优惠的人, B 是接受优惠的人,他们希望互相发送消息< / strong>,当他们使用createDataChannel
时,
(注意---->
表示发送消息的能力)
(1)他们应该使用不同的label
吗?
createDataChannel(LabelA)
A ---------------------------> B
<---------------------------
createDataChannel(LabelB)
(2)或者他们应该使用相同的label
:
createDataChannel(Same)
A ---------------------------> B
<---------------------------
createDataChannel(Same)
(3)或只有 A 需要createDataChannel
,但 B 仍然可以将消息发送回 A 。因为this example就是这种情况。
createDataChannel(LabelA)
A --------------------------> B
<--------------------------
哪种情况是正确的用例?感谢
答案 0 :(得分:4)
修改强>
你如何使用标签是主观问题,我更喜欢选项3,单个数据通道以两种方式传输数据。
来自WebRTC docs,RTCDataChannel
的标签属性说明:
label属性表示可用于将此RTCDataChannel对象与其他RTCDataChannel对象区分开的标签。允许脚本使用相同的标签创建多个RTCDataChannel对象。该属性必须返回创建RTCDataChannel对象时设置的值。
一天结束时,label只提供标记数据通道的选项。
答案 1 :(得分:2)
如果您需要获取标签的值,那么您可以从.label
属性中获取它。如:
window.localConnection = localConnection = new RTCPeerConnection(servers,
pcConstraint);
sendChannel = localConnection.createDataChannel('sendDataChannel');
console.log('Data channel label: ' + sendChannel.label);
您可以查看一下webrtc示例:https://github.com/webrtc/samples/tree/gh-pages/src/content/datachannel