simplewebrtc的“sendDirectlyToAll”的用法示例?

时间:2016-06-17 22:06:04

标签: simplewebrtc

我正在尝试向所有同行发送文字,我发现此功能为“sendDirectlyToAll”。

为方便起见,我将功能信息放在这里:

  

sendDirectlyToAll(channelLabel,messageType,payload) - 广播a   通过dataChannel向房间中的所有同伴发送消息。

     

string channelLabel - 要发送的dataChannel的标签。

     

string messageType - 要发送的消息类型的键。

     

对象有效内容 - 要发送给对等方的任意值或对象。

我不明白第二和第三参数的含义。你能告诉我一个如何使用这个功能的例子吗?

由于 德里克

1 个答案:

答案 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/