2

我使用 at struct sockaddr_in 接收从另一台机器发出的多播数据。当我使用 inet_ntop 打印出源地址时,它给了我发送数据的 PC 的源地址。

我想知道是否有办法获取数据“发送到”的多播地址?

4

1 回答 1

1

用于在接收套接字上setsockopt(2)设置IP_PKTINFO选项(参见)。ip(7)然后用于recvmsg(2)收集传入的数据报,其参数的msg_controlandmsg_controllen字段msg引用可以捕获数据报目标地址的缓冲区。

Linux 以外的系统可能会通过 BSDIP_RECVDSTADDR选项提供此功能。

于 2012-04-22T00:27:59.060 回答