我正在尝试创建一个BSD套接字来侦听来自特定IPv6多播地址的消息。我目前在创建侦听正确地址0::0的套接字时没有问题。
问题是我运行在一个有多个NIC的小型嵌入式linux服务器上;这里ipv6_mreq的ipv6mr_interface字段很重要。经过反复试验,我确定0、1和3不起作用,但2起作用(它会将所有IPv6多播消息发送到我的地址ff05::3,并到达正确的接口)。
我的问题是:在linux中,如何将我的接口、我认识的人的地址与正确的接口编号关联起来?
发布于 2009-10-25 04:48:11
也许您可以看看if_nametoindex(3)函数(见/usr/include/net/in.h)。
诚心诚意,Rémi
发布于 2009-10-24 00:19:46
总结我对原始答案的评论:
选项1可能是最健壮的,因为proc文件系统可以改变它的组织方式、可用信息和格式化方式。我个人并不熟悉Linux内核改变这些属性的频率,所以,欢迎对此有更多信息的人评论或编辑这篇文章。
https://stackoverflow.com/questions/1609721
复制相似问题