相关疑难解决方法(0)

在socket.io中使用代理时没有获取远程地址

在我的socket.io代码中,

socket.sockets.on('connection', function(client){ 
    var ip = client.handshake.address.address;
    ..
}
Run Code Online (Sandbox Code Playgroud)

ip总是返回127.0.0.1,这是因为服务器位于代理后面.如何正确获取远程地址?

编辑:我正在使用http-proxy

proxy node.js socket.io

11
推荐指数
2
解决办法
4171
查看次数

如何在socket io中获取ip

var app = require("express")();
var server = require("http").Server(app);
var io = require("socket.io")(server);
var requestIp = require('request-ip');
server.listen(3000);

var ipMiddleware = function(req, res) {
    return requestIp.getClientIp(req);
};

var ip = null;
app.get("/", function (req, res) {
   ip = ipMiddleware(req, res);
   res.sendFile(__dirname + "/index.html");
});

io.on("connection", function (socket) {
   // send the ip to user
});
Run Code Online (Sandbox Code Playgroud)

我的问题是,我想用快递获取客户端的IP地址并向客户端发出ip地址,ips是不同的那么它应该是,我怎样才能发出我用快递得到的ip?谢谢

node.js express socket.io

4
推荐指数
1
解决办法
1万
查看次数

如何将客户端的正确IP地址转换为Heroku上托管的Node socket.io应用程序?

我最近在Heroku上使用Express和socket.io托管了我的第一个Node应用程序,需要找到客户端的IP地址.到目前为止,我已经尝试了socket.manager.handshaken[socket.id].address,socket.handshake.address并且socket.connection.address,两者都没有给出正确的地址.

应用程序:http://nes-chat.herokuapp.com/(还包含指向GitHub repo的链接)

要查看已连接用户的IP,请访问:http://nes-chat.herokuapp.com/users

谁知道问题是什么?

heroku node.js socket.io

2
推荐指数
2
解决办法
4752
查看次数

node.js http.request和ipv6 vs ipv4

在node.js 4.x中,http.request 文档说这个函数

选项

  • family:解析主机名和主机名时使用的IP地址族.有效值为4或6. 如果未指定,将使用IP v4和v6.

family没有指定node.js选择ipv6或ipv4时,背后的逻辑是什么?

据我所知,当我没有指定它时,它默认为或更喜欢ipv4而浏览器,至少是chrome,更喜欢ipv6

有没有办法让node.js在可用时选择ipv6,还是我必须手动操作?

如果我是手动做的应该做什么?

  • 传入family: 6,如果超时然后传入family: 4

  • 发出DNS请求并检查我是否收到了ipv6地址,然后设置系列?

ipv6 node.js

1
推荐指数
1
解决办法
4050
查看次数

标签 统计

node.js ×4

socket.io ×3

express ×1

heroku ×1

ipv6 ×1

proxy ×1