Node.js 获取socket.io中客户端的IPv4地址

Node.js 获取socket.io中客户端的IPv4地址,node.js,socket.io,Node.js,Socket.io,当我在socket.on('connection')期间记录'socket'对象时,我得到以下信息: \u peername:{address:'::1',family:'IPv6',port:57535} 如何在套接字连接期间将该系列更改为IPv4?我四处测试,发现如果使用 var socket = io('http://localhost:8000', { transports: ['websocket']}); socket.handshake.address返回::1 如果我使用 va

当我在socket.on('connection')期间记录'socket'对象时,我得到以下信息:
\u peername:{address:'::1',family:'IPv6',port:57535}


如何在套接字连接期间将该系列更改为IPv4?

我四处测试,发现如果使用

var socket = io('http://localhost:8000', { transports: ['websocket']});
socket.handshake.address
返回
::1

如果我使用

var socket = io('http://server_ip:8000', { transports: ['websocket']});

socket.handshake.address
return
::ffff:ipv4address

我正在测试,如果我使用

var socket = io('http://localhost:8000', { transports: ['websocket']});
socket.handshake.address
返回
::1

如果我使用

var socket = io('http://server_ip:8000', { transports: ['websocket']});

socket.handshake.address
return
::ffff:ipv4address

我正在测试,如果我使用

var socket = io('http://localhost:8000', { transports: ['websocket']});
socket.handshake.address
返回
::1

如果我使用

var socket = io('http://server_ip:8000', { transports: ['websocket']});

socket.handshake.address
return
::ffff:ipv4address

我正在测试,如果我使用

var socket = io('http://localhost:8000', { transports: ['websocket']});
socket.handshake.address
返回
::1

如果我使用

var socket = io('http://server_ip:8000', { transports: ['websocket']});

socket.handshake.address
返回
::ffff:ipv4address

这应该在IPv4上侦听;试试看,让我知道

var net = require('net');

var server = net.createServer();
server.on('connection', handleConnection);

server.listen({
  host: 'localhost',
  port: 8000,
  exclusive: true
  }, function() {
     console.log('server listening to %j', server.address());
});
输出:

server listening to {"address":"127.0.0.1","family":"IPv4","port":8000}

这应该在IPv4上侦听;试试看,让我知道

var net = require('net');

var server = net.createServer();
server.on('connection', handleConnection);

server.listen({
  host: 'localhost',
  port: 8000,
  exclusive: true
  }, function() {
     console.log('server listening to %j', server.address());
});
输出:

server listening to {"address":"127.0.0.1","family":"IPv4","port":8000}

这应该在IPv4上侦听;试试看,让我知道

var net = require('net');

var server = net.createServer();
server.on('connection', handleConnection);

server.listen({
  host: 'localhost',
  port: 8000,
  exclusive: true
  }, function() {
     console.log('server listening to %j', server.address());
});
输出:

server listening to {"address":"127.0.0.1","family":"IPv4","port":8000}

这应该在IPv4上侦听;试试看,让我知道

var net = require('net');

var server = net.createServer();
server.on('connection', handleConnection);

server.listen({
  host: 'localhost',
  port: 8000,
  exclusive: true
  }, function() {
     console.log('server listening to %j', server.address());
});
输出:

server listening to {"address":"127.0.0.1","family":"IPv4","port":8000}

创建http实例时,请确保将连接绑定到IPv4地址。 例如:


这应该可以奏效

创建http实例时,请确保将连接绑定到IPv4地址。 例如:


这应该可以奏效

创建http实例时,请确保将连接绑定到IPv4地址。 例如:


这应该可以奏效

创建http实例时,请确保将连接绑定到IPv4地址。 例如:

这应该可以奏效