【发布时间】:2011-09-07 18:30:12
【问题描述】:
Microsoft 的 HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"] 正在为远程客户端返回 IPv6。但是,我需要将此数据用于 ClientIP 列为 varchar(15) 的会话日志记录表... IOW,我需要 IPv4 客户端 IP 地址,因为 IPv6 会引发字符串截断错误。
这可行吗?
【问题讨论】:
-
您无法仅根据用户的 IPv6 地址找出用户的 IPv4 地址。完全不可能。 (在极少数情况下(并且仅在非 Windows 操作系统上支持)当应用程序使用单个双栈套接字同时绑定 v4+v6 时,IPv6 地址包含在地址中,例如
::ffff:1.2.3.4,但这是不太可能的你的情况下的场景——特别是考虑到,就像我说的,它在 Windows 上不受支持。)
标签: ipv6 httpcontext ipv4