manager: implemented ws

This commit is contained in:
Guillermo Rauch
2012-08-13 16:13:38 -07:00
parent de9e8dffe1
commit f59e8aceaa

View File

@@ -19,6 +19,7 @@ var fs = require('fs')
, Logger = require('./logger')
, Socket = require('./socket')
, MemoryStore = require('./stores/memory')
, WebSocketServer = require('ws').Server
, SocketNamespace = require('./namespace')
, Static = require('./static')
, EventEmitter = process.EventEmitter;
@@ -138,8 +139,18 @@ function Manager (server, options) {
}
}
// forward-compatibility with 1.0
var self = this;
// ws server
this.ws = new WebSocketServer({
noServer: true,
clientTracking: false,
verifyClient: function(info){
return self.verifyOrigin({ headers: { origin: info.origin } });
}
});
// forward-compatibility with 1.0
this.sockets.on('connection', function (conn) {
self.emit('connection', conn);
});
@@ -613,8 +624,11 @@ Manager.prototype.handleUpgrade = function (req, socket, head) {
return;
}
req.head = head;
this.handleClient(data, req);
var self = this;
this.ws.handleUpgrade(req, socket, head, function(client){
req.wsclient = client;
self.handleClient(data, req);
});
};
/**