作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
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 地址发送给客户端,ips 是不同的,那么它应该是不同的,我如何发出我用 express 获得的 ip?谢谢
最佳答案
你可以使用类似这样的东西。我正在使用 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。
关于node.js - 如何在socket io中获取ip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30933572/
我是一名优秀的程序员,十分优秀!