多接口使用同一套接词

来源:互联网 发布:超市app送货上门软件 编辑:程序博客网 时间:2024/05/22 14:26

当在多个网络接口的主机上使用这个套接字时,若要指定接收或发送的接口时可以使用bind进行绑定,这与TCP套接字的操作一样,但其内涵并不相同。绑定时将根据地址结构中的sll_protocalsll_ifindex分别绑定收发的协议号和接口索引号,接口索引号sll_ifindex0时表示使用有效的所有接口。接口的sll_ifindex值可以通过ioctl获得,如下面是获得名字为“eth0”的接口的索引号

       strcpy(ifr.ifr_name,"eth0");

       ioctl(fd_packet,SIOCGIFINDEX,&ifr);

取得的值保存在ifr结构体的ifr_ifindex中,ifr结构类型为“struct ifreq”

要获得接口的物理地址同样使用ioctl可以得到

ioctl(fd_packet,SIOCGIFHWADDR,&ifr);

以数据形式保存在ifrifr_hwaddr.sa_data中。

0 0
原创粉丝点击