在c语言中,如何获取将数据包发送到特定ip地址的接口的名称

在c语言中,如何获取将数据包发送到特定ip地址的接口的名称,c,interface,ip,C,Interface,Ip,我想知道我的ip地址,我用它向mdns地址发送一些数据。当我知道接口的名称时,我知道如何找到它,但在不同的机器上不一样。有没有办法在c中找到它?如果您已经完成了connect2,那么可以通过getsockname2调用获取该套接字的本地地址详细信息。棘手的部分是同时支持IPv4和IPv6,传递一个缓冲区和足够大小的socklen\t长度以供getsockname填充,然后如果要将IP地址打印为字符串,则为相关的AF\u*系列调用适当的inet\u ntop

我想知道我的ip地址,我用它向mdns地址发送一些数据。当我知道接口的名称时,我知道如何找到它,但在不同的机器上不一样。有没有办法在c中找到它?

如果您已经完成了connect2,那么可以通过getsockname2调用获取该套接字的本地地址详细信息。棘手的部分是同时支持IPv4和IPv6,传递一个缓冲区和足够大小的socklen\t长度以供getsockname填充,然后如果要将IP地址打印为字符串,则为相关的AF\u*系列调用适当的inet\u ntop