Skip to content

Commit

Permalink
Update the tcp module.
Browse files Browse the repository at this point in the history
  • Loading branch information
iwillwen committed Jan 16, 2012
1 parent 1ec7bdc commit 6499401
Showing 1 changed file with 10 additions and 16 deletions.
26 changes: 10 additions & 16 deletions lib/net.js
Original file line number Diff line number Diff line change
@@ -1,40 +1,34 @@
var net = require('net'),
events = require('events'),
sockets = [],
util = require('util');
var net = require('net');
var sockets = [];
var util = require('util');

exports.net = function (port, callback) {
exports.net = function (callback) {
var tcpServer = net.createServer(function (socket) {
util.inherits(socket, events.EventEmitter);
socket.id = Math.round(Math.random() * 10000000000);
socket.on('connect', function () {
for (var i = 0; i < socket.listeners('connection').length; i++) {
socket.listeners('connection')[i]();
}
socket.emit('connection');
});
socket.on('data', function (data) {
for (var i = 0; i < socket.listeners('message').length; i++) {
socket.listeners('message')[i](data);
}
socket.emit('message', data);
});
socket.on('end', function () {
var a = sockets.indexOf(socket);
sockets.splice(a, 1);
for (var i = 0; i < socket.listeners('disconnect').length; i++) {
socket.listeners('disconnect')[i]();
}
socket.emit('disconnect');
});
socket.send = function (str) {
socket.write(str);
return this;
};
socket.broadcast = function (data) {
for (var i = 0; i < sockets.length; i++) {
if (sockets[i] == socket) continue;
sockets[i].write(data);
}
return this;
};
sockets.push(socket);
callback(socket);
}).listen(port);
});
return tcpServer;
};

0 comments on commit 6499401

Please sign in to comment.