一、IPv4套接字地址结构(POSIX定义)
(1)长度字段sin_len是为增加对OSI协议的支持而随4.3BSD-Reno添加的;并不是所有的厂家都支持套接字地址结构的长度字段,而且POSIX规范也不
要求有这个成员;
(2)POSIX规范只需要这个结构中的3个字段:sin_family、sin_addr和sin_port;对于符合POSIX的实现来说,定义额外的结构字段是可以接受的
二、POSIX规范要求的数据类型
(1)POSIX规范定义u_char、u_short、u_int和u_long这些类型时特地标记它们为已过时,仅是为向后兼容才提供的;
(2)IPv4地址和TCP或UDP端口号在套接字地址结构中总是以网络字节序来存储;
(3)32位IPv4地址存在两种不同的访问方法;举例来说,如果serv定义为某个网际套接字地址结构,那么serv.sin_addr将按in_addr结构引用其中的32位
IPv4地址,而serv.sin_addr.s_addr将按in_addr_t(通常是一个无符号的32位整数)引用同一个32位IPV4地址;
(4)sin_zero字段未曾使用,不过在填写这种套接字结构地址时,我们总是把该字段置为0;
(5)套接字地址结构中的某些字段用在不同主机之间的通信中,但是结构本身并不在主机之间传递
原文地址:https://www.cnblogs.com/soldierback/p/10661460.html
时间: 2024-10-04 16:34:52