2017-04-20 4 views
0

Ich betreibe ExpressPeerServerPeer Entdeckung mit peerjs

var express = require('express'); 
var app = express(); 
var ExpressPeerServer = require('peer').ExpressPeerServer; 

app.get('/', function(req, res, next) { 
    console.log("get /") 
    res.send(connected); 
}); 

var server = app.listen(9000); 
var options = { 
    debug: true, 
    allow_discovery: true 
}; 

var connected = []; 


peerServer = ExpressPeerServer(server, options) 
app.use('/bwallet', peerServer); 

peerServer.on('connection', function(id) { 
    var idx = connected.indexOf(id); // only add id if it's not in the list yet 
    if (idx === -1) {connected.push(id);} 
    console.log(connected); 
}); 
peerServer.on('disconnect', function (id) { 
    var idx = connected.indexOf(id); // only attempt to remove id if it's in the list 
    if (idx !== -1) {connected.splice(idx, 1);} 
    console.log(connected); 
}); 
server.on('disconnect', function(id) { 
    console.log(id + " disconnect") 
}); 

Gibt es ein Ereignis in Client-Seite, wo Peer hören können die anderen angeschlossenen Peers abonnieren kennen (ich weiß, ich socket.io implementieren kann, aber es vorziehen, dass die Signalisierung Server wird damit umgehen.)? Ich möchte nicht '/' auf Intervall für Leistungsprobleme erhalten. peer.listAllPeers() gibt auch undefined zurück.

Antwort

0

Wenn ich Ihre Frage richtig verstanden habe, möchten Sie, dass ein clientseitiges Ereignis (ohne Implementierung Ihrer eigenen Socket.io-Lösung) weiß, wann ein anderer Peer verbunden ist (damit der Client eine Verbindung herstellen kann).

Eine Lösung könnte das Erstellen und Verbinden eines Master-Peers beim Serverstart mit einer festen Peer-ID sein (zB 'MASTER'). Jetzt verbinden sich alle Clients mit MASTER. MASTER sendet die Peer-ID an alle verbundenen Peers (Clients), wenn ein neuer Peer eine Verbindung herstellt.

Die Clients sollten das Ereignis "Daten" vom MASTER-Peer abhören.

+0

Ich habe PR peerjs und peerjs Express-Server, um Unterstützung für die Peer-Erkennung hinzuzufügen. –