【发布时间】:2013-05-13 04:45:39
【问题描述】:
在通过 ipv4 的传入连接上,IPAddress 采用 ipv6 表示法,例如 ::ffff:1.2.3.4
我想将这些地址与我从其他地方获得的IPAddress 进行比较,该地址采用 ipv4 表示法:1.2.3.4
我的意思是 ipv4.GetAddressBytes() 返回 4 个字节,而 ipv6.GetAddressBytes() 返回 16 个字节。
有没有一种简单的方法可以将 ipv4 IPAddress 转换为 ipv6 表示法?
我想我知道如何逐字节进行,但我可能会遗漏一些东西,如果有的话,我宁愿使用现有的函数。
【问题讨论】:
-
您能否从您的 v6 源中提取 IPv4 部分并与其他“本机”IPv4 进行比较?例如
::ffff:1.2.3.4=> 1.2.3.4 -
是的,无论哪种方式都有效,因为我只是比较它们。
标签: c# .net ip-address ipv6 ipv4