套接字编程简介: IPV4套接字地址结构/ 通用套接字地址结构/ IPV6套接字地址结构
Posted wuyepeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了套接字编程简介: IPV4套接字地址结构/ 通用套接字地址结构/ IPV6套接字地址结构相关的知识,希望对你有一定的参考价值。
IPv4套接字地址结构通常也称为“网际套接字地址结构”,它以sockaddr_in命名,定义在<netinet/in.h>头文件中。
struct in_addr { in_addr_t s_addr;/*32-bit IPv4 address*/ /*network byte ordered*/ }; struct sockaddr_in { uint8_t sin_len;/*length if structure(16)*/ sa_family_t sin_family;/*AF_INET*/ in_port_t sin_port;/*16-bit TCP or UDP port number*/ /*network byte ordered*/ struct in_addr sin_addr;/*32-bit IPv4 address*/ /*network byte ordered*/ char sin_zero[8]; /*unused*/ };
对套接字地址结构做几点一般性的说明。
1.长度字段sin_len是为了增加对OSI协议的支持而随4.3BSD-Reno添加的。在此之前,第一个成员是sin_family,它是一个无符号短整数(unsigned short)。并不是所有的厂家都支持套接字地址结构的长度字段,而且POSIX规范也不要求有这个成员。该成员的数据类型uint8_t是典型的,符合POSIX的系统都提供这种形式的 数据类型。
正是因为有了长度字段,才简化了长度可变套接字地址结构的处理。
以上是关于套接字编程简介: IPV4套接字地址结构/ 通用套接字地址结构/ IPV6套接字地址结构的主要内容,如果未能解决你的问题,请参考以下文章