這是我的代碼:聽一個不同的IP地址
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
。有沒有「unlisten」方法?
這是我的代碼:聽一個不同的IP地址
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
。有沒有「unlisten」方法?
你必須使用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')
})
})
應該工作
謝謝。我試過了,'server.close'不會解除「127.0.0.1」地址的綁定。 – Randomblue 2013-02-21 15:14:26
也許有一些開放的連接?請參閱http://nodejs.org/api/net.html#net_server_close_callback – supernova 2013-02-21 15:17:31
不可以。我甚至會得到一個未捕獲的異常'[Error:Not running]'。 – Randomblue 2013-02-21 15:20:03
我認爲你正在尋找的「UNLISTEN」功能被稱爲「閉」:http://nodejs.org/api/http.html#http_server_close_callback
這不適用於Express。 '未捕獲的異常! [TypeError:Object function app(req,res){app.handle(req,res); }沒有方法「關閉」]' – Randomblue 2013-02-21 14:48:09
什麼你所要完成的是在我看來相當不規範。我會建議server.close()。關閉將等待所有請求完成並觸發「關閉」事件。您可以綁定該事件以偵聽新IP。這很古怪。
這不適用於Express。 '未捕獲的異常! [TypeError:Object function app(req,res){app.handle(req,res); }沒有方法「關閉」]' – Randomblue 2013-02-21 14:48:29
什麼是你想實現什麼? – robertklep 2013-02-21 13:54:02
@robertklep:我想用不同的IP地址重新啓動服務器而不會終止進程。 – Randomblue 2013-02-21 15:20:46