套接字地址数据结构

套接字数据结构定义套接字。 在套接字子例程期间,系统动态地创建套接字数据结构。

套接字地址由头文件中定义的数据结构指定。 请参阅 sockaddr 结构图 (图 1) 以获取此数据结构的说明。

图 1。 sockaddr 结构
此图显示了从左侧包含以下内容的 sockaddr 结构 :len , family 和 socket address_data。 图的第二行给出了第一行中的部分的大小,如下所示 :len 和 family 一起等于 2 字节, socket address_data 是可变大小。

/usr/include/sys/socket.h 文件包含 sockaddr 结构。 sa_data 结构的内容取决于正在使用的协议。

套接字地址数据结构的类型如下:
描述
struct sockaddr_in 定义用于跨网络和进程间通信 (IPC) 的机器间通信的套接字。 /usr/include/netinet/in.h 文件包含 sockaddr_in 结构。
结构 sockaddr_un 定义仅用于本地 IPC 的 UNIX 域套接字。 这些套接字需要完整的路径名规范,并且不遍历网络。 /usr/include/sys/un.h 文件包含 sockaddr_un 结构。
结构 sockaddr_ndd 定义用于在物理网络中进行机器间通信的操作系统 NDD 套接字。 /usr/include/sys/ndd_var.h 文件包含 sockaddr_ndd 结构。 根据套接字类型和协议,可能需要包含其他头文件。