【发布时间】:2021-06-30 08:07:05
【问题描述】:
我正在编写一个程序,其中数据报套接字应该能够接收多播数据报。我已经发现,在主机可以接收 IP 多播数据报之前,主机必须成为其中的成员,
或多个 IP 多播组与 setsockopt() 呼叫。该应用程序应适用于 IPv4 和 IPv6。
我不知道的是如何正确地将我的 IPv4/IPv6 多播地址字符串(例如 "ff14::60")转换为 in_addr 或 in_addr6 结构以用于不同的 setsockopt() 调用。
感谢您的帮助和建议!
【问题讨论】:
-
转换任何其他 IP 地址字符串的方式相同。
-
@Barmar 所以
inet_pton()可以吗? -
没错。只是一个地址,解析时与多播无关。
-
@Barmar 非常感谢您!有时解决方案可能非常简单:-)。
标签: c sockets ipv6 ipv4 datagram