Peerjs: Peerjs-Client in einer node.js-Anwendung ausführen?

Erstellt am 6. Nov. 2013  ·  65Kommentare  ·  Quelle: peers/peerjs

Wäre es möglich, anstelle des Browsers einen peer.js-Client in einer node.js-Anwendung auszuführen?

Ich erstelle ein Peer-to-Peer-Netzwerk, das aus (programmatischen) Peers besteht, die sowohl in Browsern als auch in node.js-Anwendungen leben. Sie müssen sich gegenseitig Daten schicken, kein Video/Audio. WebRTC wäre eine großartige Lösung, um das Routing und die Kommunikation zwischen den Peers zu lösen, ohne dass eine zentralistische Client/Server-Struktur erforderlich ist. Aber WebRTC scheint nur im Browser unterstützt zu werden.

Siehe auch diese Frage: http://stackoverflow.com/questions/18872712/node-js-webrtc-client

Hilfreichster Kommentar

Überblick
Hallo, ich sehe, das ist alt, aber Sie oder jemand anderes könnte das brauchen. Ich arbeite an meiner Diplomarbeit und bin einige Schritte vorangekommen. Ich habe viele Dinge ausprobiert und simplepeer hat keine Signalisierung implementiert. Das Senden von Nachrichten über den Datenkanal (nodejs peerjs webrtc) - über das Netzwerk auf Raspberry Pi 2 (ARM, Raspbian Jessie, sollte aber überall funktionieren) unter Verwendung des bereitgestellten Signalisierungsservers (Peerserver) funktioniert jetzt. Der andere Client ist ein Firefox-Browser in einer Windows-Umgebung. Ich hätte es ohne deine Diskussion hier nicht geschafft, also gebe ich der Community etwas zurück.

Wichtige Dinge darüber, was (nicht) zu tun ist:
- Verwenden Sie kein Selen, es ist nicht schnell genug, zumindest für meine Anwendung
-xvfb hat bei mir nicht geklappt, nun ja
-Sie dürfen kein Peerjs-Modul benötigen
-zumindest auf Raspberry - benutze electron-webrtc, da wrtc sowieso nicht für arm verfügbar ist
- Keine Serialisierung verwenden

Alles alleine machen zu müssen ist schwer, deshalb hier der Code:
Fenster = global
window.BlobBuilder = require("BlobBuilder")
location = {Protokoll: 'http'}

BinaryPack = require("binary-pack")
XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var wrtc = require('electron-webrtc')()
//var Peer = require('peerjs')

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

WebSocket = require('ws')
require('/home/pi/node_modules/peerjs/lib/exports.js');

var peer = neuer Peer(
...
})

var conn=peer.connect('id')
conn.serialization='keine'
conn.send('Hallo von nodejs!')

Das war's, Grüße, JP

Alle 65 Kommentare

Ich habe eine Initiative von @helloIAmPau gefunden, um eine node.js-Implementierung von WebRTC zu erstellen: https://github.com/helloIAmPau/node-rtc/. Vielleicht ist es möglich, Kräfte zu bündeln?

Hallo Jos,

Ich werde es im Auge behalten. Wenn es einen zuverlässigen Webrtc-Knoten-Client gibt, ist es
sollte trivial sein, peerjs zu portieren.

Am Mittwoch, den 6. November 2013 um 6:46 Uhr schrieb Jos de Jong [email protected] :

Ich bin auf eine Initiative von @helloIAmPau https://github.com/helloIAmPau gestoßen
Erstellen Sie eine node.js-Implementierung von WebRTC:
https://github.com/helloIAmPau/node-rtc/. Vielleicht ist es möglich zu bündeln
Kräfte?


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHubhttps://github.com/peers/peerjs/issues/103#issuecomment -27878686 an
.

510-691-3951
http://ericzhang.com

Siehe auch https://github.com/modeswitch/node-webrtc . Ich denke, node-rtc wird dadurch ersetzt.

Danke Eric, das wäre toll.

Dies würde es auch einer als MCU arbeitenden node.js-Anwendung ermöglichen, Video-/Audiostreams für eine Gruppe von Peers (Konferenzanruf) in einer Sternarchitektur zu steuern, wie Justin Uberti auf der letzten Google I/O auf WebRTC (vom 23 :19). Node.js kann gut mit Streams umgehen, das könnte also gut passen.

@ericz was ist der Grund dieses Thema zu schließen? Die Unterstützung für node.js wäre wirklich großartig und leistungsfähig.

Hallo Josdejong,

Ich habe es geschlossen, weil es kein Aktionselement gibt, aber ich werde es wieder öffnen, damit wir die Funktion im Auge behalten können :)

OK danke. Fühlen Sie sich frei, den Titel in etwas wie "node.js support" zu ändern und geben Sie dem Problem eine angemessene Bezeichnung ...

:+1: Das wäre eine ziemlich hilfreiche Funktion.

:+1: Upvoting dafür auch.

:+1: dringend benötigt

+1

Ich habe es geschafft, einige Objekte zu verspotten und Peerjs auf node.js zum Laufen zu bringen

Fenster={};
window.BlobBuilder = require("BlobBuilder");
Standort={};
location.protocol="http";

BinaryPack = require("binary-pack");
XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;

var wrtc = require("wrtc");
RTCPeerConnection = wrtc.RTCPeerConnection;
RTCSessionDescription = wrtc.RTCSessionDescription;
RTCIceCandidate = wrtc.RTCIceCandidate;

WebSocket = require('ws');
var peerClient =require(./peer.js");

Ich habe es geschafft, peerjs dazu zu bringen, Verbindungen einzurichten und Serververbindungen herzustellen. Wenn ich jedoch versuche, Daten zu senden, erhalte ich einen Folgefehler

[Fehler: Verbindung ist nicht geöffnet. Sie sollten auf das Ereignis open warten, bevor Sie Nachrichten senden.]

Hier ist das komplette Wesentliche

https://gist.github.com/piyushranjan/1204bc579b7c1f5a3e84

Und diese npm-Pakete müssen installiert werden

npm installiert BlobBuilder
npm installiere das Binärpaket
npm installiert ws
npm installiert xmlhttprequest
npm install wrtc

Ach, das ist wirklich toll! Werde mal schauen :).

Michelle

Am Dienstag, den 6. Mai 2014 um 7:37 Uhr schrieb Piyush Ranjan [email protected] :

Ich habe es geschafft, einige Objekte zu verspotten und Peerjs auf node.js zum Laufen zu bringen

Fenster={};
window.BlobBuilder = require("BlobBuilder");
Standort={};
location.protocol="http";

BinaryPack = require("binary-pack");
XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;

var wrtc = require("wrtc");
RTCPeerConnection = wrtc.RTCPeerConnection;
RTCSessionDescription = wrtc.RTCSessionDescription;
RTCIceCandidate = wrtc.RTCIceCandidate;

WebSocket = require('ws');
var peerClient =require(./peer.js");

Ich habe es geschafft, peerjs dazu zu bringen, Verbindungen einzurichten und Serververbindungen herzustellen.
Wenn ich jedoch versuche, Daten zu senden, erhalte ich einen Folgefehler

[Fehler: Verbindung ist nicht geöffnet. Sie sollten auf das offene Ereignis hören
vor dem Senden von Nachrichten.]

Hier ist das komplette Wesentliche

https://gist.github.com/piyushranjan/1204bc579b7c1f5a3e84

Und diese npm-Pakete müssen installiert werden

npm installiert BlobBuilder
npm installiere das Binärpaket
npm installiert ws
npm installiert xmlhttprequest
npm install wrtc


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHubhttps://github.com/peers/peerjs/issues/103#issuecomment -42292282 an
.

@michelle hast du damit schon glück? Ich habe es versucht, und das Öffnen einer Verbindung scheint zu funktionieren, aber gesendete Nachrichten werden nie empfangen.

:+1: für diese Funktion

:+1: für diese Funktion

:+1:

:+1::+1::+1:

Ich habe mich gefragt, wie der Status dieser ist? Es wäre toll, wenn dies unterstützt würde?

Es gibt ein Knotenmodul für peerjs, aber ich denke, es funktioniert noch nicht. Wenn ich es benötige, erhalte ich, dass das Fenster nicht definiert ist, was ein berechtigter Einwand ist.
https://www.npmjs.org/package/peerjs#readme

Da bin ich gespannt: Ist da was los? Wäre so toll, es zu haben! ;)

Dieses Knotenmodul ist für den Browsercode :).

Michelle

Am Donnerstag, 23. Oktober 2014 um 11:37 Uhr, Lixissimus [email protected]
schrieb:

Es gibt ein Knotenmodul für peerjs, aber ich denke, es funktioniert noch nicht. Wenn ich
erfordern, bekomme ich, dass das Fenster nicht definiert ist, was ein berechtigter Einwand ist.
https://www.npmjs.org/package/peerjs#readme

Da bin ich gespannt: Ist da was los? Wäre so toll zu haben
es! ;)


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/peers/peerjs/issues/103#issuecomment -60287567.

Was soll es also tun?

Ich weiß nicht, ob ich nur über den Knoten verwirrt bin, aber es scheint seltsam, ein npm-Modul für Peerjs zu haben, wenn das Peerjs-Modul selbst nur vom Browser aus verwendet werden kann?

Tut mir leid, das war, bevor wir begannen, die Bibliothek auf Bower zu veröffentlichen.

Michelle

Am Donnerstag, 23. Oktober 2014 um 11:51 Uhr, Alan Chusuei [email protected]
schrieb:

Ich weiß nicht, ob ich nur über den Knoten verwirrt bin, aber es scheint seltsam zu sein
ein npm-Modul für peerjs, wenn das peerjs-Modul selbst nur von verwendet werden kann
der Browser?


Antworten Sie direkt auf diese E-Mail oder zeigen Sie sie auf GitHub an
https://github.com/peers/peerjs/issues/103#issuecomment -60289790.

@AChusuei Ich sehe kein Problem darin, browserspezifische Bibliotheken in npm oder isomorphe Bibliotheken zu haben. Für meine Full-Stack-JS-Webanwendungen möchte ich mich nur mit npm befassen müssen, anstatt die Hälfte der Bibliotheken von npm und die andere Hälfte von Bower abrufen zu müssen.

@michelle Ich hoffe wirklich, dass peerjs Unterstützung für einen node.js-Client bekommt!!

@josdejong , ich denke du könntest es so machen. Ich bin noch neu in der Node-Welt und offen dafür, Dinge anders zu machen!

:+1:

Bis dieses Problem behoben ist, gibt es möglicherweise Problemumgehungen mit Headless-Browsern. Ich habe sie nicht selbst getestet:

das zweite probiere ich mal aus.

:+1:

+2^56 für die Funktion!

:+1:

:+1:

:+1:

+1

Der von @piyushranjan gepostete Hack scheint mit der aktuellen stabilen Version nicht zu funktionieren, da er nichts global exportiert (und alle Module in einer Datei sind).

Die Problemumgehung dafür scheint darin zu bestehen, die nicht "kompilierte" / verkettete Version zu verwenden.

Klonen Sie also das Repository und machen Sie dann so etwas:

window = global;
location = {protocol: 'http'};

XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;

var wrtc = require("wrtc");
RTCPeerConnection = wrtc.RTCPeerConnection;
RTCSessionDescription = wrtc.RTCSessionDescription;
RTCIceCandidate = wrtc.RTCIceCandidate;

WebSocket = require('ws');

require('./peerjs/lib/exports.js');

var peer = new Peer({
  // snip...
});

Achten Sie besonders auf die Zeile require ganz unten, die das Laden aller einzelnen Teile in das Objekt global / window übernimmt.

Immer noch ein fieser Hack, aber er scheint zu funktionieren, zumindest für sehr einfache Tests.

Hinweis: Es gelten die gleichen Vorbehalte, Sie müssen dennoch zuerst einige Pakete installieren:

npm install BlobBuilder binary-pack ws xmlhttprequest wrtc

@lewiseason Hast du tatsächlich eine Verbindung zum Laufen bekommen und konntest zum Beispiel einige Daten senden?

Das ist mir bisher nicht gelungen. Es sieht so aus, als ob ich eine Verbindung öffnen kann, aber es wird kein Datenkanal erstellt.

Das habe ich versucht:

  1. Installation

sudo apt-get install libnss3-dev libexpat1-dev npm install peerjs BlobBuilder binary-pack ws xmlhttprequest wrtc

  1. Erstellen Sie eine HTML-Datei peer1.html , die einen Client-Peer mit der ID 'peer1' verbindet:

``` html



peer1



```
  1. Erstellen Sie ein node.js-Skript peer3.js :

``` js
Fenster = global;
window.BlobBuilder = require("BlobBuilder");
Standort = {Protokoll: 'http'};

BinaryPack = require("binary-pack");
XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;

var wrtc = require("wrtc");
RTCPeerConnection = wrtc.RTCPeerConnection;
RTCSessionDescription = wrtc.RTCSessionDescription;
RTCIceCandidate = wrtc.RTCIceCandidate;

WebSocket = require('ws');

require('peerjs/lib/exports.js');

var peer = new Peer('peer3', {key: 'lwjd5qra8257b9', debug: true});

peer.on('öffnen', function () {
console.log('Peer öffnen');
var conn = peer.connect('peer1');

 conn.on('data', function(data) {
   console.log('Received', data);
 });

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

 conn.on('open', function () {
   console.log('connection open');
   conn.send('Hello from ' + peer.id + '!');
 });

});
```

  1. Öffnen Sie die Datei peer1.html in Ihrem Browser
  2. Führen Sie das node.js-Skript peer3.js aus

Wenn Sie sich die Debug-Ausgabe ansehen, sieht es so aus, als ob Peer3 erfolgreich mit Peer1 verbunden ist, aber keinen Datenkanal herstellt: Peer1 gibt "neue Verbindung zu Peer3" aus, aber es werden keine Nachrichten empfangen.

Ich fürchte, ich bin mit dem Testen nicht sehr weit gekommen - es schien Frankenstein ein bisschen zu viel zu sein, um es in der Produktion zu verwenden, also habe ich es schließlich gelassen. Es tut uns leid :(

:+1:

:+1:

Gibt es hierzu Neuigkeiten?

@josdejong das Problem liegt bei den Signalisierungsdaten. Anscheinend werden dem Angebot/der Antwort keine STUN-Daten beigefügt. Ohne diese Daten kann keine tatsächliche Verbindung hergestellt werden. Das Folgende stellt eine Verbindung zwischen Browser und Knoten her, jedoch ohne Peerjs-Signalisierung.

https://github.com/cjb/serverless-webrtc

+1

+1

Will jemand ein Kopfgeld eröffnen?

Da dies seit mehr als zwei Jahren offen ist: Gibt es ein (anderes) bekanntes Paket, das P2P in Browser & Node funktioniert?

Ich hatte keine Zeit, es auszuprobieren, aber https://github.com/feross/simple-peer sagt, dass es sowohl in node.js als auch im Browser funktioniert.

Ist es das, wonach Sie suchen? https://github.com/socketio/socket.io-p2p

aus der readme:

"Dieses Modul bietet eine einfache und zuverlässige Möglichkeit, eine WebRTC-Verbindung zwischen Peers einzurichten und über Ereignisse (das socket.io-Protokoll) zu kommunizieren.

Socket.IO wird zum Transport von Signalisierungsdaten und als Fallback für Clients verwendet, bei denen WebRTC PeerConnection nicht unterstützt wird."

Soweit es mich betrifft, funktioniert es nicht auf Node. Deswegen bin ich auf diesen Thread gestoßen.

Hmm. Könnten Sie konkreter werden? Ich verwende es gerade und verwende einen Node-Server, um Peers zu verbinden, die dann webRTC-Verbindungen untereinander und/oder zur Maschine des Node-Servers herstellen.

Verwenden eines Node-Servers zum Verbinden von Peers, die dann webRTC-Verbindungen untereinander herstellen

Sie führen es also _nicht_ als Client aus. Sie führen es auf einem Server aus, der _andere_ Clients verbindet (die Sie nicht als Node-Apps erwähnen - wenn ja, würde mich interessieren, wie Sie sie einrichten).
In diesem Thread geht es um die Verwendung von peerjs (oder möglicherweise irgendetwas anderem) als Peer (Client) in einer Knotenanwendung.

webRTC-Verbindungen untereinander und/oder zur Maschine des Node-Servers

Der zweite Teil davon scheint genau das zu sein, was hier diskutiert wird. Kann das noch jemand bestätigen?

Nein, das Problem ist die Verwendung von NodeJS als WebRTC -Client . Dh. Verbinden Sie sich von einer NodeJS-Instanz, die nicht unbedingt der Server ist.

Ach, Entschuldigung. SimplePeer wird das tun. Es erfordert jedoch, dass auf der Serverplattform bestimmte webrtc-Funktionen installiert sind. Das 'wrtc'-Modul bietet dies auf den meisten Maschinen. Vor allem _nicht_ auf einem Himbeer-Pi im Moment, falls das für Sie wichtig ist (es tut es für mich!)

Ausschnitt aus ihrer readme.md:

im Knoten

Um diese Bibliothek im Knoten zu verwenden, übergeben Sie opts.wrtc als Parameter:

var SimplePeer = require('simple-peer')
var wrtc = require('wrtc')

var peer1 = new SimplePeer({ Initiator: true, wrtc: wrtc })
var peer2 = new SimplePeer({ wrtc: wrtc })

+1 Das wäre ein nettes Feature

Schauen Sie sich Electron-webrtc oder webrtc-native an. Ich verwende electron-webrtc für meine node.js-Instanz, um eine Verbindung mit Browsern herzustellen (speziell unter Verwendung des Datenkanals).

Überblick
Hallo, ich sehe, das ist alt, aber Sie oder jemand anderes könnte das brauchen. Ich arbeite an meiner Diplomarbeit und bin einige Schritte vorangekommen. Ich habe viele Dinge ausprobiert und simplepeer hat keine Signalisierung implementiert. Das Senden von Nachrichten über den Datenkanal (nodejs peerjs webrtc) - über das Netzwerk auf Raspberry Pi 2 (ARM, Raspbian Jessie, sollte aber überall funktionieren) unter Verwendung des bereitgestellten Signalisierungsservers (Peerserver) funktioniert jetzt. Der andere Client ist ein Firefox-Browser in einer Windows-Umgebung. Ich hätte es ohne deine Diskussion hier nicht geschafft, also gebe ich der Community etwas zurück.

Wichtige Dinge darüber, was (nicht) zu tun ist:
- Verwenden Sie kein Selen, es ist nicht schnell genug, zumindest für meine Anwendung
-xvfb hat bei mir nicht geklappt, nun ja
-Sie dürfen kein Peerjs-Modul benötigen
-zumindest auf Raspberry - benutze electron-webrtc, da wrtc sowieso nicht für arm verfügbar ist
- Keine Serialisierung verwenden

Alles alleine machen zu müssen ist schwer, deshalb hier der Code:
Fenster = global
window.BlobBuilder = require("BlobBuilder")
location = {Protokoll: 'http'}

BinaryPack = require("binary-pack")
XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var wrtc = require('electron-webrtc')()
//var Peer = require('peerjs')

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

WebSocket = require('ws')
require('/home/pi/node_modules/peerjs/lib/exports.js');

var peer = neuer Peer(
...
})

var conn=peer.connect('id')
conn.serialization='keine'
conn.send('Hallo von nodejs!')

Das war's, Grüße, JP

Hallo @jeryfast , danke für deine Lösungen, nach so etwas habe ich gesucht 👍

Ich teste es auf einem Mac (noch nicht auf der Himbeere) und erhalte den Fehler „Failed to set the ‚binary Type‘ property on ‚RTCDataChannel‘: Blob support not supported yet“

Nach einiger Suche fand ich das in der Datei utils im Pfad node_modules/peerjs/lib um Zeile 116 herum:

try {
        dc.binaryType = 'blob';
        binaryBlob = true;
      } catch (e) {
      }

das verursacht den Fehler und die App stürzt ab.

Wenn der Code kommentiert ist funktioniert die App und verhält sich wie ein Browserclient, einfach schön. Aber es ist ein schmutziger Hack, also habe ich nach einer Möglichkeit gesucht, etwas zu "konfigurieren" oder etwas zu tun, das kein Änderungscode aus der Bibliothek ist, aber bis jetzt habe ich keine gefunden.

Die Herausforderung besteht darin, wann dieser Codeabschnitt ausgeführt wird, d. h. im Modulladeprozess, wenn die Anforderung der Exporte abgeschlossen ist:

require('./node_modules/peerjs/lib/exports.js');

Hat jemand eine Idee oder einen Vorschlag, wie man das korrigieren kann?

Grüße

Schön, wenn Sie die Serialisierung "none" verwenden, funktioniert es auch, ohne etwas in einer Bibliothek zu ändern. Grüße

Hallo nochmal @jeryfast , es funktioniert auf der Himbeere, wie du gesagt hast. Das Problem in meinem letzten Post bezieht sich auf OS X.

Na das Ding ist super Arbeit 👍

Nein, fangen wir mit dem Spaß an 💃

Hallo
Ich erhalte diesen Fehler.
```
global.postMessage(messageName, '*');
^

TypeError: global.postMessage ist keine Funktion
bei Object.setZeroTimeoutPostMessage [als setZeroTimeout] (

@crosogf , dieser Fehler sieht für mich wie ein Symptom eines größeren Problems aus. Es scheint, dass postMessage nur im Fehlerbehandlungscode verwendet wird. Meine Vermutung wäre, dass es etwas mit der Unterstützungserkennung für binäre Blobs in lib/util.js zu tun hat (der Code @nuno-nlfsoftware sagt aus, dass er auskommentiert werden soll). Mir ist aufgefallen, dass Code an zwei Stellen vorhanden ist, in dist/peer.js oder dist/peer.min.js und in lib/util.js. Für mich waren nur Änderungen an letzterem wirksam (aufgrund des Hacks von @ jeryfast , lib/exports.js zu erfordern).

Ich lasse das einfach hier https://www.npmjs.com/package/peerjs-nodejs

Außerdem muss die Verbindungsserialisierung nicht auf none gesetzt werden. Sie können jede andere Option außer binary verwenden, Sie müssen sie nur einstellen, da binär die Standardeinstellung ist. Ich habe es auf json gesetzt, was gut funktioniert.

Ich lasse das einfach hier https://www.npmjs.com/package/peerjs-nodejs

Danke, ich denke, es sollte ein Teil von PeerJS sein.

Hier ist mein Code nach dem Test jeryfast & peerjs-nodejs

const peerJs = require('peerjs-nodejs');
const peer = peerJs("myPeerId", {
host: '192.168.137.231',
port: 9000,
pingInterval: 5000,
path: '/myapp',
debug: 3, 
iceTransportPolicy: 'relay',
config: {
'iceServers': [
    { urls: "stun:stun.l.google.com:19302" },
    {
        urls: "turn:34.192.149.24:5678?transport=udp",
        username: "USER", credential: "PASS"
    }
]
}
});

let conn = peer.connect('myPeerJS', {
    reliable: true
});


setTimeout(()=>{
 // NOT JSON
 // conn.serialization='none';
 // conn.send('hello from nodejs!');  

 // JSON WAY
 conn.serialization = 'json';
 conn.send({ value: 'hello from nodejs!' });

}, 3000);

setTimeout(()=>{
  conn.close();
  console.log("CONN CLOSE");
  process.exit();
}, 10000);

Hallo, ich erhalte diesen Fehler, sobald ich eine Peer-Instanz (mit peerjs-nodejs ) auf dem NodeJS-Server erstelle. Ich stelle im Moment nicht einmal eine Verbindung zu einem entfernten Peer her. Hat es jemand gelöst?

server.js

const Peer = require('peerjs-nodejs')

...

this.peer = Peer('webRTC-webinar-plugin', {
      host: '/',
      path: 'peer-js',
      port: (useHTTPS) ? 8443 : 8080,
      secure: (useHTTPS) ? true : false
})
/Users/federico/Documents/webRTC-webinar-plugin/node_modules/peerjs-nodejs/node_modules/peerjs/lib/util.js:234

      global.postMessage(messageName, '*');
             ^
TypeError: global.postMessage is not a function
    at Object.setZeroTimeoutPostMessage [as setZeroTimeout] (/Users/federico/Documents/webRTC-webinar-plugin/node_modules/peerjs-nodejs/node_modules/peerjs/lib/util.js:234:14)
    at Peer.disconnect (/Users/federico/Documents/webRTC-webinar-plugin/node_modules/peerjs-nodejs/node_modules/peerjs/lib/peer.js:420:8)
    at Socket.<anonymous> (/Users/federico/Documents/webRTC-webinar-plugin/node_modules/peerjs-nodejs/node_modules/peerjs/lib/peer.js:120:12)
    at Socket.emit (/Users/federico/Documents/webRTC-webinar-plugin/node_modules/peerjs-nodejs/node_modules/eventemitter3/index.js:71:35)
    at exports.XMLHttpRequest._http.onerror (/Users/federico/Documents/webRTC-webinar-plugin/node_modules/peerjs-nodejs/node_modules/peerjs/lib/socket.js:91:12)
    at exports.XMLHttpRequest.dispatchEvent (/Users/federico/Documents/webRTC-webinar-plugin/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:591:25)
    at exports.XMLHttpRequest.handleError (/Users/federico/Documents/webRTC-webinar-plugin/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:533:10)
    at ClientRequest.errorHandler (/Users/federico/Documents/webRTC-webinar-plugin/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:459:14)
    at ClientRequest.emit (events.js:310:20)
    at Socket.socketErrorListener (_http_client.js:426:9)

Kann jemand helfen? Danke.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen