一尘不染

获取接收到的UDP报文的目的地址

linux

收到UDP数据包后,我需要用他用来向其发送数据包的地址来响应发送方。

recvfrom调用使我可以获取发送方的地址,但是如何获取接收到的数据包的目标地址,该地址应与本地主机接口之一的地址匹配?


阅读 203

收藏
2020-06-02

共1个答案

一尘不染

您可以使用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/,在这里我找到了答案以获取更多详细信息。

2020-06-02