如何在IP(v4/v6) 地址(和端口)和字符串之间进行转换?

How to Convert Between IP(v4/v6) Address (and Port) and String?

我正在尝试将一些使用 RtlIpv4StringToAddressExA/RtlIpv6StringToAddressExARtlIpv6AddressToStringExA/RtlIpv4AddressToStringExA 的 Windows 代码移植到 Linux 和似乎找不到完全相同的 APIs。似乎有很多方法可以将 IP 地址转换为字符串(并返回),但我找不到也支持该端口的方法。

例如,将 [2001:4898:d8:34:b912:426d:1c88:5859]:443 从字符串转换为 IP 地址(并​​返回)。

重申一下,我明确需要一个考虑 端口 的 API。

没有 API 可以执行此操作。你得自己拆分端口号。

另见 this answer,其中提到大多数实用程序使用 -p port 参数而不是 :port 来指定端口。

如果你真的想要这样的东西,自己写可能是微不足道的。