我正在尝试向所有同行发送文字,我发现此功能为“sendDirectlyToAll”。
为方便起见,我将功能信息放在这里:
sendDirectlyToAll(channelLabel,messageType,payload) - 广播a 通过dataChannel向房间中的所有同伴发送消息。
string channelLabel - 要发送的dataChannel的标签。
string messageType - 要发送的消息类型的键。
对象有效内容 - 要发送给对等方的任意值或对象。
我不明白第二和第三参数的含义。你能告诉我一个如何使用这个功能的例子吗?
由于 德里克
答案 0 :(得分:0)
以下是我的示例,展示了我是如何设法实现的:
/**
* send directly to all other peers
*/
oSimpleWebRTC.sendDirectlyToAll(
'meta', // sLabel
'info', // sType - will become oData.sType
{"foo": "bar"} // oData - will become oData.payload
);
/**
* Handle incoming dataChannel messages sent by "sendDirectlyToAll"
* @param {object} oPeer The Remote sending Peer Object
* @param {string} sLabel A Label, e.g.: 'meta'
* @param {object} oData Object containing the relevant Data
*/
oSimpleWebRTC.on('channelMessage', function (oPeer, sLabel, oData) {
// e.g. we want label "hark" to be ignored, as it fires continiously.
if ('hark' === sLabel) {
return true;
}
if ('meta' === sLabel) {
if ('info' === oData.type)
{
// do your stuff
console.log(oData.payload.foo);
}
}
}
另外,官方的SimpleWebRTC问题跟踪器上有这个问题的答案:https://github.com/andyet/SimpleWebRTC/issues/450
请参阅此示例中的博文:https://blog.ueffing.net/post/2017/02/22/simplewebrtc-usage-example-of-senddirectlytoall/