peerjs nodejs没有浏览器

时间:2018-03-26 11:05:05

标签: node.js peerjs

我正在使用peerJs(http://peerjs.com/docs/)创建一个在pc上运行并连接到服务器的小nodeJS脚本。 我通过在网络浏览器上打开来运行它并且它可以工作,但我需要使用nodeJS而不是使用浏览器。

我创造了这样的东西:

window = global;
window.BlobBuilder = require("BlobBuilder");
location = { protocol: 'http' };
BinaryPack = require("binary-pack");

XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;


var path = require("path");
var wrtc = require("wrtc");
var peerjs = require('peerjs');

RTCPeerConnection = wrtc.RTCPeerConnection;
RTCSessionDescription = wrtc.RTCSessionDescription;
RTCIceCandidate = wrtc.RTCIceCandidate;

WebSocket = require('ws');


var peer = new peerjs({
    key: 'b0yke14mnsev1jor',
    // Set highest debug level (log everything!).
    debug: 3,

    // Set a logging function:
    logFunction: function() {
        var copy = Array.prototype.slice.call(arguments).join(' ');

    }
});


peer.on('connection', function(conn) {
    conn.on('open', function() {
        console.log("peer connected"); // This fires as expected
        conn.send("helo");
    });
});

peer.on('open', function(id) {
    console.log('My peer ID is: ' + id);

});
peer.on('error', function(err) {
    console.log(err);

});

当我使用node server.js运行它时,我收到此错误:

  

node server.js

{ Error: The current browser does not support WebRTC
    at Peer.emitError (C:\nodeworkspace\playground\PeerJS\iperiusRemoteHost\node_modules\peerjs\lib\peer.js:372:15)
    at Peer._abort (C:\nodeworkspace\playground\PeerJS\iperiusRemoteHost\node_modules\peerjs\lib\peer.js:365:10)
    at Timeout._onTimeout (C:\nodeworkspace\playground\PeerJS\iperiusRemoteHost\node_modules\peerjs\lib\peer.js:349:14)
    at ontimeout (timers.js:386:14)
    at tryOnTimeout (timers.js:250:5)
    at Timer.listOnTimeout (timers.js:214:5) type: 'browser-incompatible' }

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您想继续使用peerjs客户端库,则需要对其进行修改。

话虽如此,代码查询RTCPeerConnection以查看浏览器的功能,但这种方法不会存在于服务器中(即运行nodejs)。你可以停止,如果通过强制它给你这个错误信息,但当你尝试调用一些webrtc函数时,你会再次遇到问题。

查看此问题的答案:Making a node.js application a PEER with WebRTC

正如您将要读到的,这不是一件简单的事情。祝你好运!