现在有没有哪些应用是做过 ipv6 的 ip 地址处理兼容?

2018-05-04 17:29:59 +08:00
 sgissb1
我想表达的意思是。
ipv4 用“.”分割 ip 中的几个区域,用“:”分割 ip 和端口

ipv6 则是全体用“:”来做分隔符。

最近在看代码,内部处理业务代码或拼接服务器地址时用了 ipv4 的规则去处理,如果真要用在 ipv6 的场景下就需要该相应的处理代码。

不知道现在有哪些应用已经将这类问题已经解决或者规避掉了。
909 次点击
所在节点    问与答
6 条回复
ysc3839
2018-05-04 23:43:42 +08:00
IPv6 地址用中括号 [] 括起来再加上“:端口”,解析时简单判断一下就可以解决这个问题了。

至于哪些程序有,我估计 curl 应该有。
zhjits
2018-05-05 10:23:22 +08:00
如果程序只需要输入 IP 和端口,那么直接分开
如果程序输入的是 URL,那么 [v6addr]:port 是个不错的做法

比较好奇你们之前都没考虑这么 parse 会出问题么,比如 IPv4 有很多种写法,点分十进制只是其中一种……
sgissb1
2018-05-05 17:09:11 +08:00
@zhjits ipv4 中表达某个 ip 地址的写法我就知道点分的(环回不算的话)。至于前人为何这么做,我也不晓得。

@ysc3839 哦,我以前看一些较为旧一点的开源时,似乎在处理的时候也是用点分的。所以也比较好奇 /
zhjits
2018-05-05 23:49:52 +08:00
@sgissb1 你试试 ping 2130706433
sgissb1
2018-05-06 11:57:04 +08:00
@zhjits 哦,还有 int 型表达的方式,我给忘了。。。。
zhjits
2018-05-07 15:08:17 +08:00
@sgissb1 不止这一种哦,你去看源代码

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/452174

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX