2

我正在尝试向我的所有同行发送文本,我发现了这个函数“sendDirectlyToAll”。

为了方便起见,我把函数信息放在这里:


sendDirectlyToAll(channelLabel, messageType, payload) - 通过 dataChannel 向房间中的所有对等方广播消息。

string channelLabel - 要发送的数据通道的标签。

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

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


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

谢谢德里克

4

1 回答 1

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/

于 2017-02-22T14:39:03.027 回答