nombre - obtener ip local javascript
¿Cómo puedo conectar todas las ip en este momento en mi servidor? (1)
chicos, tengo esta duda con websockets en javascript, quiero devolver la ip conectada al servidor y no tengo idea de hacerlo, solo quiero las ip, solo quiero las que están conectadas en este momento.
Aquí está mi servidor:
var WebSocketServer = require(''websocket'').server;
var http = require(''http'');
var server = http.createServer(function(request, response) {
console.log((new Date()) + '' Received request for '' + request.url);
response.writeHead(404);
response.end();
});
server.listen(8080, function() {
console.log(''Server is listening on port 8080'');
});
wsServer = new WebSocketServer({
httpServer: server,
autoAcceptConnections: false
});
function originIsAllowed(origin) {
// put logic here to detect whether the specified origin is allowed.
return true;
}
wsServer.on(''request'', function(request) {
if (!originIsAllowed(request.origin)) {
// Make sure we only accept requests from an allowed origin
request.reject();
console.log((new Date()) + '' Connection from origin '' request.origin + '' rejected.'');
return;
}
var connection = request.accept(''echo-protocol'', request.origin);
console.log((new Date()) + '' Connection accepted.'');
connection.on(''message'', function(message) {
if (message.type === ''utf8'') {
console.log(''Received Message: '' + message.utf8Data);
var ipAddress = connection.remoteAddress;
console.log(ipAddress);
connection.sendUTF("pablo puta");
}
else if (message.type === ''binary'') {
console.log(''Received Binary Message of '' + message.binaryData.length + '' bytes'');
connection.sendBytes(message.binaryData);
}
});
connection.on(''close'', function(reasonCode, description) {
console.log((new Date()) + '' Peer '' + connection.remoteAddress + '' disconnected.'');
});
});
Por favor, si me pueden ayudar, estaría muy agradecido.
Creo que puedes mantener un objeto de ips:
var ips={};
connection.on(''close'', function(reasonCode, description) {
delete ips[connection.remoteAddress];
});
connection.on(''open'', function(reasonCode, description) {
ips[connection.remoteAddress]=true;
});
Y luego, de alguna manera, respuesta con:
Object.keys(ips);
a ti mismo...
(Creo que debe ser esto en lugar de conexión dentro de los controladores, pero no soy un experto en eso ...)