Skip to content

Instantly share code, notes, and snippets.

@toanalien
Last active August 29, 2015 14:24
Show Gist options
  • Save toanalien/baca180b2a036f1a8d05 to your computer and use it in GitHub Desktop.
Save toanalien/baca180b2a036f1a8d05 to your computer and use it in GitHub Desktop.
demo chatbox via tcp by nodejs
/**
* @toanalien
*/
var net = require('net');
var server = net.createServer();
var sockets = [];
server.on('connection', function(socket) {
console.log('got a new connection');
sockets.push(socket);
socket.on('data', function(data) {
console.log('got data: ', data);
sockets.forEach(function(otherSocket) {
if (otherSocket !== socket) {
var index = sockets.indexOf(socket);
otherSocket.write("client " + index + " : " + data);
}
});
});
});
server.on('error', function(err) {
console.log('Server error: ', err.message);
});
server.on('close', function() {
console.log('Server closed');
var index = sockets.indexOf(socket);
sockets.splice(index, 1);
});
server.listen(80);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment