使用Primus代替socket-io和simplewebrtc

时间:2015-12-11 11:15:17

标签: node.js socket.io primus simplewebrtc

我想使用Primus代替socket-io和simplewebrtc。 任何人都可以帮我转换下面的代码来使用Primus吗? https://github.com/andyet/SimpleWebRTC/blob/master/socketioconnection.js

1 个答案:

答案 0 :(得分:1)

这是如何工作的,您可以将任何构造函数作为connection属性传递给配置,以及您需要的任何其他选项。然后,构造函数需要做的就是使用以下四种方法导出对象:onemitgetSessionIddisconnect。对于Primus,你可以有这样的东西(我之前从未使用Primus,只是看文档) -

var Primus = window.Primus; // get primus from wherever you want

function PrimusConnection(config) {
    var self = this;
    var primus = new Primus(config.url, config.primus);
    primus.on('connection', function (spark) {
      // spark is the new connection.
      self.connection = spark;
    });
}

PrimusConnection.prototype.on = function (eventName, function) {
    this.connection.on(eventName, function);
};

PrimusConnection.prototype.emit = function () {
    this.connection.write.apply(this.connection, arguments);
};

PrimusConnection.prototype.getSessionid = function () {
    return this.connection.id;
};

PrimusConnection.prototype.disconnect = function () {
    return this.connection.end.apply(this.connection, arguments);
};

module.exports = PrimusConnection;