node javascript node.js express ipv6

javascript - Node.js server.address(). Address devuelve::



node js server express (1)

Si recuerdo correctamente, solía mostrar "localhost" hace unos días. No estoy seguro de lo que había cambiado que hizo que server.address (). Address devuelva dos puntos dobles (: :) en su lugar. Leí aquí que devuelve una dirección IPv6 (: :) si está disponible pero está desactivada en mi PC. https://nodejs.org/api/http.html#http_server_listen_port_hostname_backlog_callback


Como dicen los doctores,

Comience a aceptar conexiones en el puerto y nombre de host especificados. Si se omite el nombre de host, el servidor aceptará conexiones en cualquier dirección IPv6 (: :) cuando IPv6 esté disponible, o cualquier dirección IPv4 (0.0.0.0) de lo contrario. Un valor de puerto de cero asignará un puerto aleatorio.

Por lo tanto, el siguiente código se imprimirá running at http://:::3456 :

var express = require(''express''); var app = express(); var server = app.listen(3456, function () { var host = server.address().address; var port = server.address().port; console.log(''running at http://'' + host + '':'' + port) });

Pero si agrega un nombre de host explícito:

var server = app.listen(3456, "127.0.0.1", function () {

Imprimiría lo que quieres ver: running at http://127.0.0.1:3456

También es posible que desee utilizar algunas lib lib IP como se indica en esta respuesta

Saludos cordiales, Alexander