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
});我的问题是,我想用express获取客户端的ip地址,并将ip地址发送给客户端,ip是不同的,然后它应该是,我如何发出我通过express获得的ip?谢谢
发布于 2015-06-19 17:32:04
你可以使用类似这样的东西。在这里,我使用socket.io方法来获取客户端ip地址。
io.on("connection", function (socket) {
var clientIp = socket.request.connection.remoteAddress;
socket.emit('eventName',{ip : clientIp}); //emit it back to client
});查看此stackoverflow thread,了解如何获取不同socket.io版本的客户端ip。
https://stackoverflow.com/questions/30933572
复制相似问题