Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我使用 at struct sockaddr_in 接收从另一台机器发出的多播数据。当我使用 inet_ntop 打印出源地址时,它给了我发送数据的 PC 的源地址。
我想知道是否有办法获取数据“发送到”的多播地址?
用于在接收套接字上setsockopt(2)设置IP_PKTINFO选项(参见)。ip(7)然后用于recvmsg(2)收集传入的数据报,其参数的msg_controlandmsg_controllen字段msg引用可以捕获数据报目标地址的缓冲区。
setsockopt(2)
IP_PKTINFO
ip(7)
recvmsg(2)
msg_control
msg_controllen
msg
Linux 以外的系统可能会通过 BSDIP_RECVDSTADDR选项提供此功能。
IP_RECVDSTADDR