这是我的代码:听一个不同的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