【问题标题】:How to convert a multicast address string to in_addr or in_addr6如何将多播地址字符串转换为 in_addr 或 in_addr6
【发布时间】:2021-06-30 08:07:05
【问题描述】:

我正在编写一个程序,其中数据报套接字应该能够接收多播数据报。我已经发现,在主机可以接收 IP 多播数据报之前,主机必须成为其中的成员, 或多个 IP 多播组与 setsockopt() 呼叫。该应用程序应适用于 IPv4 和 IPv6。

我不知道的是如何正确地将我的 IPv4/IPv6 多播地址字符串(例如 "ff14::60")转换为 in_addrin_addr6 结构以用于不同的 setsockopt() 调用。

感谢您的帮助和建议!

【问题讨论】:

  • 转换任何其他 IP 地址字符串的方式相同。
  • @Barmar 所以inet_pton() 可以吗?
  • 没错。只是一个地址,解析时与多播无关。
  • @Barmar 非常感谢您!有时解决方案可能非常简单:-)。

标签: c sockets ipv6 ipv4 datagram


【解决方案1】:

根据manpage,可以使用inet_pton()函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-22
    • 2012-07-14
    相关资源
    最近更新 更多