收到UDP数据包后,我需要用他用来向其发送数据包的地址来响应发送方。
该recvfrom调用使我可以获取发送方的地址,但是如何获取接收到的数据包的目标地址,该地址应与本地主机接口之一的地址匹配?
recvfrom
您可以使用setsockopt设置IP_PKTINFO选项,然后使用recvmsg并在struct msghdr的msg_control成员中获得in_pktinfo结构。in_pktinfo有一个包含数据包目的地址的字段。
参见:http : //www.linuxquestions.org/questions/programming-9/how-to-get-destination- address-of-udp- packet-600103/,在这里我找到了答案以获取更多详细信息。