21

これは私のコードです:

var server = express();

// Create the HTTP server
http
    .createServer(server)
    .listen(80, '10.10.10.10');

サーバーが起動したら、リッスンしたIPアドレスを動的に変更するにはどうすればよいです11.11.11.1110.10.10.10。「聞くことのない」方法はありますか?

4

4 に答える 4

49

app.close()ではなくserver.close()を使用する必要があります。

var express = require('express')
  , http = require('http')
  , app = express()
  , server = http.createServer(app)

app.get('/',function(req,res){
  ...
})

server.listen(8000,'127.0.0.1',function(){
 server.close(function(){
   server.listen(8001,'192.168.0.202')
 })
})

動作するはずです

于 2013-02-21T15:09:14.653 に答える
1

あなたが探している「unlisten」関数は「close」と呼ばれていると思います:http://nodejs.org/api/http.html#http_server_close_callback

于 2013-02-21T13:57:01.767 に答える
0

あなたが成し遂げようとしていることは、私の意見ではまったく標準的ではありません。server.close()をお勧めします。Closeは、すべてのリクエストが終了するのを待ち、「close」イベントをトリガーします。そのイベントにバインドして、新しいIPをリッスンできます。これはかなり奇妙なことです。

于 2013-02-21T13:58:19.217 に答える
0
app.listen(3000,'0.0.0.0',function(){
  console.log('Server running at http://127.0.1.1:8000/')
})

Expressで動作します

于 2019-11-09T16:28:39.813 に答える