javascript – 在多个端口上运行node.js http服务器

前端之家收集整理的这篇文章主要介绍了javascript – 在多个端口上运行node.js http服务器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
请任何人帮我看看如何在node.js中获取服务器套接字上下文,以便我知道请求来自我服务器上的哪个端口号.
我可以读取服务器端口,如果我请求使用http标头,但我想通过网络和类似套接字上下文,它告诉请求来自哪个端口号.

以下是示例代码

var http=require('http');
var url = require('url');
var ports = [7006,7007,7008,7009];
var servers = [];
var s;
function reqHandler(req,res) {
        var serPort=req.headers.host.split(":");
        console.log("PORT:"+serPort[1]);//here i get it using http header.
}
ports.forEach(function(port) {
    s = http.createServer(reqHandler);
    s.listen(port);
    servers.push(s);
});

解决方法

req对象具有对底层节点套接字的引用.您可以轻松获取此信息,如下所示: http://nodejs.org/api/http.html#http_message_sockethttp://nodejs.org/api/net.html#net_socket_remoteaddress

以下是您修改的示例代码,以显示本地和远程套接字地址信息.

var http=require('http');
var ports = [7006,res) {
    console.log({
        remoteAddress: req.socket.remoteAddress,remotePort: req.socket.remotePort,localAddress: req.socket.localAddress,localPort: req.socket.localPort,});
}
ports.forEach(function(port) {
    s = http.createServer(reqHandler);
    s.listen(port);
    servers.push(s);
});
原文链接:https://www.f2er.com/js/158390.html

猜你在找的JavaScript相关文章