CNode

createServer端口问题

Sshowen发布于13 年前最后回复13 年前6 回复5876 浏览0 收藏

通过这个代码创建web服务

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

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

查看回复

回复 (6)

L
leapon#1·13 年前

存在变量里?

var port = 4567;
var ser=http.createServer(function(request,response) 
{
}).listen(port);
S
showen#2·13 年前
引用 leapon存在变量里? var port = 4567; var ser=http.createServer(function(request,response) { }).listen(port);

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

F
fengmk2#3·13 年前

可以获取到的。

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

server.address(); // { port: 12346, family: 'IPv4', address: '127.0.0.1' }
S
showen#4·13 年前
引用 fengmk2可以获取到的。 http://nodejs.org/docs/latest/api/net.html net server address

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

F
fengmk2#5·13 年前

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 }
S
showen#6·13 年前
引用 fengmk2http.Server 也是继承 net.Server 的:

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

参与回复
登录后即可参与回复。登录