Node.js server.address()。address returns ::
如果我没有记错的话,前几天用来显示“localhost”。 我不知道是什么改变了server.address()。地址返回双冒号(::)代替。 我在这里读到它返回一个IPv6地址(::),如果它可用但它在我的PC上被禁用。 https://nodejs.org/api/http.html#http_server_listen_port_hostname_backlog_callback
正如文件所说,
开始接受指定端口和主机名的连接。 如果省略主机名,则服务器将接受任何IPv6地址(::)上的连接,当IPv6可用时,或者任何IPv4地址(0.0.0.0)。 端口值为零将分配一个随机端口。
因此,下面的代码将打印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) });
但是,如果你添加一个明确的主机名:
var server = app.listen(3456, "127.0.0.1", function () {
它会打印你想看到的: running at http://127.0.0.1:3456
你也可以ant使用这个答案中指出的一些IP库
最好的问候,亚历山大
- 通过设置encryption的Nodejs WebSocket服务器的问题
- Windows上的Node.js + Express.js:最多等待两分钟的静态文件?
- ExpressJS 4.15.2自定义中间件设置内容types
- 如何用Nodejs和Multer发布图片?
- 是否有可能在kue节点js中更新已经创build的作业
- Mongoose方法返回undefined
- 使用PassportJSvalidationAndroid应用程序
- Angular问题和“否”Access-Control-Allow-Origin'标题“ – 使用OAuth 2,Passport,Express和Node
- Passport.js:authentication后如何访问用户对象?