21

这是我的代码:

var server = express();

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

服务器启动后,如何动态更改侦听的 IP 地址,例如11.11.11.11改为10.10.10.10. 有没有“不听”的方法?

4

4 回答 4

49

你必须使用 server.close() 而不是 app.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()。关闭将等待所有请求完成并触发“关闭”事件。您可以绑定该事件以侦听新 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/')
})

将与快递合作

于 2019-11-09T16:28:39.813 回答