Anu*_*ngh 10 javascript sockets node.js
请任何人帮我看看如何在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);
});
Run Code Online (Sandbox Code Playgroud)
小智 7
该req对象具有对底层节点套接字的引用.您可以按照以下文档中的说明轻松获取此信息:http://nodejs.org/api/http.html#http_message_socket和http://nodejs.org/api/net.html#net_socket_remoteaddress
以下是您修改的示例代码,以显示本地和远程套接字地址信息.
var http=require('http');
var ports = [7006, 7007, 7008, 7009];
var servers = [];
var s;
function reqHandler(req, 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);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12731 次 |
| 最近记录: |