sockets - 了解结构 sockaddr

标签 sockets networking network-programming network-protocols

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

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

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

无论如何,如果是,那么他们的家庭是根据什么划分的?

最佳答案

地址的格式和大小通常是特定于协议(protocol)的。sockaddr用作一组地址结构的基础,这些地址结构的作用类似于区分联合,请参阅 the Beej guide to networking .你一般看sa_family然后转换为适当的地址族的具体地址结构。
TCP 和 UDP 本身没有特定的地址,而是 IP 级别具有不同大小的 IPv4 和 IPv6 地址。
也可以看看:

  • http://en.wikipedia.org/wiki/AF_INET
  • http://msdn.microsoft.com/en-us/library/ms740496(v=vs.85).aspx
  • http://www.iana.org/assignments/address-family-numbers/address-family-numbers.xml
  • 关于sockets - 了解结构 sockaddr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7414943/

    相关文章:

    python - twisted.internet.reactor 是全局性的吗?

    python - 我正在寻找可以让我向选定的客户端发送消息的网络服务

    java - 网络可用时自动连接到互联网

    c# - 聊天客户端发送一些奇怪的字符

    通过套接字的 iOS Hello World

    python - 如何使客户端套接字以非阻塞方式从另一个套接字接收数据?

    c - TCP 套接字在循环中途停止写入

    .net - Windows 版本的 "Netem"(模拟慢速网络连接)?

    java - 如何模拟本地端口上的网络延迟?

    c# - 将 Ping 应用程序转换为多线程版本以提高速度 - C#