// Autor: DANIEL GALA MONTES DNI: 72181262V var net = require('net'); var sockets = []; var server = net.createServer(function(socket) { socket.nickname = "Invitado_"+sockets.length; sockets.push(socket); console.log(socket.nickname+" se ha conectado."); socket.on('end', function() { var i = sockets.indexOf(socket); sockets.splice(i, 1); console.log(socket.nickname+" se ha desconectado."); }); socket.on('data', function(d) { var frase = (d.toString()).split(' '); console.log(socket.nickname+": "+ d.toString()); if (frase[0].match(/^\/msg/)){ var nick = frase[1]; var nick_exists = false; for (var i=0; i < sockets.length; i++){ if (sockets[i].nickname !== nick) { var msj = (d.toString()).replace(frase[0]+" "+frase[1]+" ", ""); sockets[i].write(socket.nickname + " dice: "+msj); nick_exists=true; console.log(socket.nickname+" ha enviado un mensaje a "+nick); break; } if (nick_exists === false){ socket.write("No existe ningún usuario con ese nick."); } else if (frase[0].match(/^\/nick/)) { if(frase.length !== 2) { socket.write("KO: Este comando no admite varios argumentos. \n"); return; } var new_nick = frase[1].replace(/[\r\n]/g, ""); var nick_cogido = false; for(var i=0; i