2016-05-11 11 views
-1

私は、割り当てられていないポートでリッスンする小さなhello world HTTPサーバーを作成しました。問題は、サーバーがどのポートをリッスンしているかを調べる方法がわからないことです。コードは以下の通りである:Node.js - httpサーバーがリッスンしているポートを検索しますか?

var http = require('http'); 

http.createServer(function handler(req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(0, '127.0.0.1', function (event) { 
    // TODO register with service registry 
    console.log('event: ', event); 
}); 

ドキュメントの状態:

この関数は非同期です。最後のパラメータコールバックは、 'listening'イベントのリスナーとして追加された になります。 net.Server.listen(port)も参照してください。

私のコールバックが呼び出されても、定義されたパラメータは渡されず、私が探している値を提供する「これ」の公共の機能やプロパティがわかりません。

+0

もnet.Server.listen(ポート)を参照してください。 – OrangeDog

+1

httpをあなたのサーバーをランダムなポートに作成させるのはなぜですか? – cs04iz1

+0

私は、ピアツーピアのRESTベースのサービスのクラスタを作成する予定であるため、UDPブロードキャストまたはmDNS経由でお互いを発見します。同じホスト上またはネットワーク上に複数のインスタンスが存在する可能性があります。このポートは、ユーザーが直面していないため、ここでは重要ではありません。ユーザーが直面しているサービスは、固定されたポートにあり、これを舞台裏で抽象化します。 –

答えて

1

ドキュメントにさらに読書、それは私が行うことができ判明:

this.address().port 

サーバーが延びているのでnet.Server

関連する問題