it-swarm.cn

了解struct sockaddr

struct sockaddr {
    unsigned short sa_family;   // address family, AF_xxx
    char           sa_data[14]; // 14 bytes of protocol address
};

在这个结构中,究竟是什么意思 地址族 sa_family描述的?

这是否意味着像TCP/UDP这样的协议有“地址”?嗯,我认为协议可以是识别号码而不是地址。

无论如何,如果是,那么他们的家庭在什么基础上被划分?

15
Aquarius_Girl

地址的格式和大小通常是协议特定的。

sockaddr用作一组地址结构的基础,这些地址结构就像一个有区别的联合,参见 http://www.retran.com/beej/sockaddr_inman.html 。您通常会查看sa_family,然后转换为适当的地址系列的特定地址结构。

TCP和UDP没有特定于它们的地址,而是IP级别具有不同的IPv4和IPv6地址大小。

也可以看看:

19
Len Holgate

我试图在C/C++中复制jnetpcap getHardwareAddress()方法时发现了这一点。当sa_family为17(0x11,AF_PACKET)时,包含MAC地址,以字节10-15表示。

0
Jerry Miller