Tag: ipv6

如何将ipv6地址转换为nodejs expressjs中的ipv4地址?

NODEJS的请求对象提供了这个方法req.connection.remoteAddres来获取客户端的IP地址,但是它给出了IPV6格式的地址,我怎么把它转换成更可读的IPV4格式呢?

node.js + express + socket.io与ipv6?

我有我的代码如下所示: var gzippo = require('gzippo'); var app = require('express').createServer() , io = require('socket.io').listen(app); io.enable('browser client gzip'); io.set('transports', [ 'websocket' ]); app.use(gzippo.staticGzip(__dirname + '/')); app.listen(8001); app.get('/', function (req, res) { res.sendfile(__dirname + '/main2.html'); }); io.sockets.on('connection', function (socket) {…}); 我使用gzppo作为gzip,表示为http服务器,socket.io作为websocket函数。 现在的代码可以正常使用来自ipv4地址的请求。 那么如何听我的ipv6地址的请求?

Socket.IO IPv6(2013年1月版)

我需要使用Socket.IO及其客户端通过IPv6networking连接两个Node.js服务器。 一年前, 由于客户端的地址parsing ,这似乎不可能 。 现在看来, 至less有一个人已经得到了它的工作 。 所以,我在服务器上尝试了一些简单的testing代码: var io = require('socket.io').listen(8124, '::1'); 而且,在客户端: io.connect('http://[::1]:8124'); 这失败了。 (没有错误输出,我现在正在调查,我认为这是我从winston使用的崩溃处理程序中的一个错误。) 我也注意到,如果我在Chrome浏览器中使用http://[::1]:8124/ ,我不会得到通常的“欢迎使用socket.io”debugging信息。 奇怪的是,如果我去http://127.0.0.1:8124/ ,我确实得到这个消息,尽pipe告诉服务器只侦听::1 。 从Socket.IO版本0.9.11开始,可以使用IPv6吗? 如果是这样,怎么样?

如何识别node.js中的IPV6专用和回送地址?

目前我需要能够区分一个私人地址和一个可到达的网页。 我需要能够testing以下内容: 您在接口上获得了ipv6的列表,并且需要知道哪些地址可以通过networking访问。 这些地址都可能是非私有的。 如果地址改变了,最好能够跟踪哪一个(我可以通过私有地址testing方法计算出来)。 这是用javascript写在node.js上的

如何使用IPv6的Node.js?

基本上,我想知道如何更改我的server.js代码才能使用IPv6? 我在某处读到,你只需要把你的IPv6地址放在“listen(80)”这一行旁边,这样就可以使它看起来像这样“listen(80,”IPv6“); 但是,在我的代码中,这比这更复杂一点。 以下是与服务器相关的代码行: const server = http.createServer(options, app), . . . var ss=tls.createServer(options, function (box) { box.setEncoding('utf8'); . . ss.listen(8010); . . var sockets = require('socket.io').listen(server).of('/el'); . . . if (!module.parent) { server.listen(port, function () { console.log('Listening', this.address()); }) }

快速IPv6 CIDR号码或comaparable

我正在使用geoip数据库,导入ipv4数据库相当容易,CIDR格式被转换为范围和范围为整数。 但我无法find任何中心资源,我可以find如何存储和searchIPv6。 我试图将IPv6 CIDR转换为范围,search库 使用ipaddr.js转换为"2001:240:1000::/36"它返回[ { parts: [ 8193, 576, 4096, 0, 0, 0, 0, 0 ] }, 36 ] ,真的没办法将其转换为int 位search function ip62long($ipv6){ $ip_n = inet_pton($ipv6); $bits = 15; $ipv6long = 0; while($bits >= 0){ $bin = sprintf("%08b",(ord($ip_n[$bits]))); if($ipv6long){ $ipv6long = $bin . $ipv6long; } else{ $ipv6long = $bin; } $bits–; } return gmp_strval(gmp_init($ipv6long, […]

node.js http.request和ipv6与ipv4

在node.js 4.x的函数http.request 文档说 选项 系列:parsing主机和主机名时使用的IP地址族。 有效值为4或6. 未指定时,将使用IP v4和v6。 当没有指定family时,node.jsselectipv6或ipv4的逻辑是什么? 据我可以告诉什么时候我不指定它默认是或更喜欢ipv4,而浏览器,至less铬,更喜欢ipv6 有没有办法让node.jsselectipv6可用时,还是我必须手动? 如果我手动做,应该怎么做? 通过family: 6 ,如果超时然后通过family: 4 ? 做一个DNS请求,并检查我是否得到一个ipv6地址,然后设置家庭?

如何将本地ipv6地址绑定到我的node.js程序?

我刚刚在nodejs中创build了这个简单的程序,但是我不能将它绑定到我的NIC的ipv6地址。 我在API文档中读到以下内容 localAddress:绑定networking连接的本地接口。 var http = require('http'); var options = { hostname: 'www.whatismyipv6.com', localAddress: '2a01:xxxx:xxxx:xxxx::2' //a real ipv6 address here }; var req = http.request(options, function(res) { res.on('data', function (chunk) { console.log(chunk.toString()); }); }); req.on('error', function(e) { console.log('ERROR: ' + e.message); }); req.end(); 但是,当我执行程序,我得到这个。 请注意ipv4地址。 <head> <title>WhatIsMyIPv6? (IPv4: xx.xx.xxx.xxx)</title> <meta name="bitly-verification" content="984886d337a6"/> </head> 它看起来像nodejs忽略localAddress并直接绑定到ipv4地址。 # […]

NodeJS数据报 – 接收IPv6多播

我试图通过node.js中的IPv6接收多播数据报。 在IPv4(udp4)上完全相同的方式,我没有问题,但试图做相同的udp6给我socket.addMembership呼叫EINVAL错误。 这是我的代码: var dgram = require('dgram'); var server = dgram.createSocket('udp6'); var PORT = 12345; var MULTICAST_ADDRESS = 'ff7e:230::1234'; server.on('message', function (message, remote) { console.log('Message from: ' + remote.address + ':' + remote.port +' – ' + message); }); server.on('listening', function () { var address = server.address(); console.log('UDP listening on ' + address.address + ":" […]

Node.js dns.resolve()与dns.lookup()

我需要在Node.js中查找给定的主机到其对应的IP。 似乎有两个原生的方法来做到这一点: > dns.resolve('google.com', (error, addresses) => { console.error(error); console.log(addresses); }); QueryReqWrap { bindingName: 'queryA', callback: { [Function: asyncCallback] immediately: true }, hostname: 'google.com', oncomplete: [Function: onresolve], domain: Domain { domain: null, _events: { error: [Function] }, _eventsCount: 1, _maxListeners: undefined, members: [] } } > null [ '216.58.194.174' ] 和: > dns.lookup('google.com', (error, address, […]