如何在socket io中获取ip

Mik*_*ike 4 node.js express socket.io

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?谢谢

Soj*_*ose 9

你可以使用这样的东西.我正在使用一种socket.io方法来获取客户端IP地址.

io.on("connection", function (socket) {
    var clientIp = socket.request.connection.remoteAddress;
    socket.emit('eventName',{ip : clientIp}); //emit it back to client
});
Run Code Online (Sandbox Code Playgroud)

检查这个stackoverflow线程,了解如何获取不同socket.io版本的客户端IP .