我正在尝试使用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” )