createServer端口问题
 发布于 12 年前  作者 showen  5713 次预览  最后一次回复是 12 年前  来自  

通过这个代码创建web服务

var ser = http.createServer(function (request ,response) {
}).listen(4567);  

之后如何读取这个端口,有类似ser.port这样的方法吗,大家先不要管这个问题蛋疼不蛋疼,因为我部署到云端之后想读取真正服务监听的端口。

6 回复
leapon

存在变量里?

var port = 4567;
var ser=http.createServer(function(request,response) 
{
}).listen(port);
showen

这样不行的,在cloudfoundry可以用process.env.VMC_APP_PORT这个变量访问,谢谢了哈

fengmk2

可以获取到的。

http://nodejs.org/docs/latest/api/net.html#net_server_address

server.address(); // { port: 12346, family: 'IPv4', address: '127.0.0.1' }
showen

嗯 谢谢你 但是你这个例子不是htt.creatServer() 我测试了的 不行

fengmk2

http.Server 也是继承 net.Server 的:

var http = require('http');

var s = http.createServer();
s.lisnten(8080);
console.log(s.address());
// { address: '0.0.0.0',  family: 'IPv4', port: 8080 }
showen

额 为什么我测试的是读不出来呢