【问题标题】:Get server's port from Node JS connect.js从 Node JS connect.js 获取服务器的端口
【发布时间】:2015-06-29 04:24:28
【问题描述】:

我想从我的节点 js 服务器向终端输出一条消息,例如“正在侦听端口 {port_#}”。

我找到了文档,例如 NodeJS: How to get the server's port?,但他们只谈论 Express JS。

我正在使用 ConnectJS 方面进行连接。所以我的代码看起来像:

var connect = require('connect');
var serveStatic = require('serve-static');
connect().use(serveStatic(__dirname)).listen(8080);

console.log("Listening on port %d", connect.address().port);

但是,这不起作用。如何将端口记录到终端?

【问题讨论】:

    标签: javascript node.js port connect.js


    【解决方案1】:

    您正在尝试调用连接库的.address() 方法。这种方法不存在。它甚至不存在于connect() 的实例中。您正在寻找的方法存在于http.Server 对象中。

    当您创建连接实例时,会返回一个应用。当您告诉应用程序监听时,您可以提供一个回调,该回调会在应用程序开始监听时调用。这个回调函数使用http.Server 作为绑定到this 的上下文来调用。

    var connect = require( 'connect' )
    var app = connect()
    app.listen( 8080, function(){
      //`this` is the underlying http.Server powering the connect app
      console.log( 'App is listening on port ' + this.address().port )
    })
    

    来自source code 进行连接:

    app.listen = function(){
      var server = http.createServer(this);
      return server.listen.apply(server, arguments);
    };
    

    【讨论】:

      猜你喜欢
      • 2012-08-13
      • 1970-01-01
      • 2015-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-31
      • 2021-04-21
      • 1970-01-01
      相关资源
      最近更新 更多