收听其他IP地址

时间:2013-02-21 13:50:35

标签: node.js express

这是我的代码:

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 个答案:

答案 0 :(得分:32)

你必须使用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')
 })
})

应该有效

答案 1 :(得分:1)

我认为您正在寻找的“unlisten”功能称为“关闭”:http://nodejs.org/api/http.html#http_server_close_callback

答案 2 :(得分:0)

在我看来,你想要完成的事情是非常不标准的。我建议server.close()。关闭将等待所有请求完成并触发“关闭”事件。您可以绑定该事件以侦听新IP。这很奇怪。

答案 3 :(得分:0)

app.listen(3000,'0.0.0.0',function(){
  console.log('Server running at http://127.0.1.1:8000/')
})

将与Express配合使用