it-swarm.com.de

Node.js server.address (). Address gibt Folgendes zurück:

Wenn ich mich richtig erinnere, wurde vor ein paar Tagen "localhost" angezeigt. Ich bin nicht sicher, was geändert hat, dass server.address (). Address stattdessen doppelte Doppelpunkte (: :) zurückgibt. Ich habe hier gelesen, dass es eine IPv6-Adresse (: :) zurückgibt, wenn sie verfügbar ist, aber auf meinem PC deaktiviert ist. https://nodejs.org/api/http.html#http_server_listen_port_hostname_backlog_callback

24
Jake

Wie die Dokumente sagen,

Beginnen Sie, Verbindungen auf dem angegebenen Port und Hostnamen zu akzeptieren. Wenn der Hostname weggelassen wird, akzeptiert der Server Verbindungen über eine beliebige IPv6-Adresse (: :), wenn IPv6 verfügbar ist, oder eine beliebige IPv4-Adresse (0.0.0.0). Ein Portwert von Null weist einen zufälligen Port zu.

Der folgende Code würde also 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)
});

Wenn Sie jedoch einen expliziten Hostnamen hinzufügen:

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

Es würde drucken, was Sie sehen möchten: running at http://127.0.0.1:3456

Vielleicht möchten Sie auch eine IP-Bibliothek verwenden, wie in diese Antwort gezeigt

Viele Grüße, Alexander