任何人都可以告诉我如何通过nodejs检索客户端计算机用户名。 我写了一个nodejs程序......
//logging the socket address
function start(httpserver) {
var sockets = {};
var io = socketio(httpserver);
io.on('connection', function (socket) {
});
//receiving message
socket.on('user message', function (msg) {
console.log('message: ' + msg);
});
//disconnection
socket.on('disconnect', function (msg) {
});
socket.on('foo', function (msg) {
console.log('received foo:'+msg);
});
});
}
当我启动nodejs服务器时,它会选择index.html并连接到端口8888.同样,我可以从客户端计算机连接。例如:HOSTNAME:8888
但我如何检索客户端计算机用户名
答案 0 :(得分:0)
反向DNS解析(rDNS)将起到作用。
正在查询域名系统(DNS)以确定与IP地址关联的域名 - 与域名中IP地址的常规“转发”DNS查询相反。
const clientIp = 'xxx.xxx.xxx.xxx';
require('dns').reverse(clientIp, function(err, domains) {
console.log(domains);
});
参考:
要使用socketio获取客户端ip,您可以参考以下存根:
socketio.on("connection", function (socket) {
const clientIp = socket.request.connection.remoteAddress;
// Do the reverse DNS lookup
});