我正在嘗試使用PeerJS(一個webRTC庫)進行遊戲和triyng以使用它們提供的服務器來進行用戶發現。我想管理一個連接的用戶列表,我正在與PeerJS服務器苦苦掙扎。如何獲取PeerJS服務器中的連接用戶列表(帶快遞)?
在他們說的文檔中,我們可以在同一個應用中使用PeerJs和Express服務器。
下面是代碼:
# this doesn't work
var express = require('express');
var app = express();
var ExpressPeerServer = require('peer').ExpressPeerServer;
app.get('/', function(req, res, next) { res.send('Hello world!'); });
var server = app.listen(9000);
var options = {
debug: true,
allow_discovery: true
}
app.use('/api', ExpressPeerServer(server, options));
server.on('connection', function(id) {
# we get a socket object as id :(
# should be a string
console.log(id)
});
server.on('disconnect', function(id) { console.log(id + "deconnected") });
然而,當一個用戶連接,我得到一個socket
對象id
,這不是我想要的。我也無法訪問到所連接的同行在URL http://localhost:9000/peerjs/peers
什麼奇怪的是,只用PeerJS服務器,它按預期工作(我得到了同行的串號),我可以訪問URL http://localhost:9000/peerjs/peers
上的連接對等點。
# this works
var ip = require('ip');
var PeerServer = require('peer').PeerServer;
var port = 9000;
var server = new PeerServer({port: port, allow_discovery: true});
server.on('connection', function (id) {
# id is correct (a string)
console.log('new connection with id ' + id);
});
server.on('disconnect', function (id) {
console.log('disconnect with id ' + id);
});
console.log('peer server running on ' +
ip.address() + ':' + port);
任何線索,以與快遞PeerJS服務器的工作? 這是關於快速兼容性的迴歸嗎?
感謝很多:)
系統的相關信息:
node -v : v0.10.25
- 的Ubuntu 14.04 從GitHub安裝了
- peerJS服務器:
npm install peers/peerjs-server
(版本: 「0.2.8」 )