栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

request.connection.remoteAddress现在在node.js中的:: ffff中前缀

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

request.connection.remoteAddress现在在node.js中的:: ffff中前缀

我的节点服务器正在侦听IPv6地址吗?

是。您的服务器正在侦听IPv6连接,并且

IPV6_V6ONLY
未设置该标志,导致IPv4连接由同一套接字处理。

在这种情况下,是否可以进行IPv6连接(可以路由到您的服务器)无关紧要-重要的是,侦听IPv6连接的套接字会接收IPv4连接。

::ffff:192.168.1.10
实际上是一个IPv6地址或者是IPv4地址?

都。IPv6地址可以嵌入IPv4地址-
这是这些嵌入地址之一。请参阅IPv4映射的IPv6地址。

判断remoteAddress是否为IPv6以检查字符串是否包含的最简单方法是

::
吗?

IPv6地址不一定包含

::
,而是一种简短的表示法,表示一定数量的零。
::ffff:192.168.1.10
等价于
0:0:0:0:0:ffff:192.168.1.10
0:0:0:0:0:ffff:c0a8:010a
(请参阅IPv6地址表示法)。因此,为了区分IPv6和IPv4地址,您只需检查单个冒号-
即可
:

在数据库中存储IPv4地址时,我曾经使用INET_ATON之类的东西将其更改为大整数。我应该放弃此做法,而是将所有远程地址存储为字符串,该字符串可以为45个字符长(IPv6地址字符串的最大长度)

IPv6地址是一个128位数字-
即使您可以将其存储为数字(例如,

BIGINT
在MySQL中为两个数字),但这种方法是否真的有意义却值得怀疑。我能想到的唯一需要考虑数字的地方是评估子网掩码,因为其他所有字符串都足够且易于处理。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/608773.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号