首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在socket.io中获取客户端的IPv4地址

在socket.io中获取客户端的IPv4地址
EN

Stack Overflow用户
提问于 2015-05-11 20:17:51
回答 3查看 2.7K关注 0票数 0

当我在连接(‘socket.on’)期间记录‘socket.on’对象时,我得到了以下信息:_peername: { address: '::1', family: 'IPv6', port: 57535 }

如何在插座连接过程中将族更改为IPv4?

EN

回答 3

Stack Overflow用户

发布于 2015-05-12 13:43:02

我在测试中发现,如果我在客户端使用

代码语言:javascript
复制
var socket = io('http://localhost:8000', { transports: ['websocket']});

socket.handshake.address返回::1

如果我使用

代码语言:javascript
复制
var socket = io('http://server_ip:8000', { transports: ['websocket']});

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

票数 2
EN

Stack Overflow用户

发布于 2018-06-17 03:33:26

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

代码语言:javascript
复制
const app = require('express')();
const http = require('http').Server(app);
const io = require('socket.io')(http);

http.listen(8000, '0.0.0.0', function(){
    console.log('listening on *:8000');
});

这应该能起到作用。:)

票数 1
EN

Stack Overflow用户

发布于 2016-08-09 20:57:47

这应该会在IPv4上收听;试一试,让我知道...

代码语言:javascript
复制
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());
});

输出:

代码语言:javascript
复制
server listening to {"address":"127.0.0.1","family":"IPv4","port":8000}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30167422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档