diff --git a/lib/Server.js b/lib/Server.js index 2790edb..9488897 100644 --- a/lib/Server.js +++ b/lib/Server.js @@ -32,6 +32,7 @@ var Client = function(client, server, api) { this.s.on(EVENTS.REMOTE, this._onRemote.bind(this)); this.s.start(); } +util.inherits(Client, EventEmitter); Client.prototype.onData = function(chunk) { chunkParser(this, chunk, function(data) { @@ -48,6 +49,7 @@ Client.prototype.onData = function(chunk) { Client.prototype._onRemote = function(remote) { this.remote = remote; this.remote.$._setId(this.id); + this.emit( "connection", remote ); } Client.prototype._write = function(data) { @@ -70,8 +72,13 @@ var Server = function(api, options) { util.inherits(Server, EventEmitter); Server.prototype.onConnection = function(api, client) { + var self = this; client = new Client(client, this, api); this.connections[client.id] = client; + + client.on( "connection", function( remote ) { + self.emit( "connection", remote ); + } ) } Server.prototype.ids = function() {