【问题标题】:Convert a Poco::IPAddress into ulong将 Poco::IPAddress 转换为 ulong
【发布时间】:2015-06-12 05:01:57
【问题描述】:

在 boost 下有:

boost::asio::ip::address_v4::from_string("192.168.0.10").to_ulong()

它将192.168.0.10 转换为0xC0A8010A

这很舒服。不幸的是,我对这个项目没有任何帮助,但 poco。我没有找到任何允许这样做的方法。

我错过了什么吗?

【问题讨论】:

  • IP 地址是否保证为IPv4?因为 IPv6 绝对不再适合 ulong...
  • 你能用inet_aton吗? (如果您使用的是winsock,另请参阅stackoverflow.com/questions/2420663/…
  • 示例中的错字吗?应该是这样的:0xC0A8000A = 192*0x1000000+168*0x10000+0*0x100+10 我得到的结果与0xC0A8010A 不同(我混合了二进制和十进制,但我在计算器中更正了)
  • @CommuSoft,是的,我只查找 IPV4 地址。
  • @BarmakShemirani 你是对的,我犯了一个小错误,地址是 192.168.1.10 来制作 0xC0A8010A

标签: c++ ip-address poco


【解决方案1】:

使用POCO::IPAddressaddr() 方法获取in_addr 结构(如果使用IPv4)。 S_addr 字段是您的目标 ulong。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 2014-10-03
    相关资源
    最近更新 更多