简体   繁体   中英

Listen to a different IP address

This is my code:

var server = express();

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

Once the server has been started, how can I dynamically change the listened IP address, say to 11.11.11.11 instead of 10.10.10.10 . Is there an "unlisten" method?

you have to use server.close() not 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')
 })
})

should work

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

What your are trying to accomplish is quite non-standard in my opinion. I would suggest server.close() . Close will wait all request to finish and trigger the "close" event. You can bind on that event to listen on the new IP. This is quite weird tho.

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

will work with express

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM