IPv4套接字地址结构

Posted soldierback

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IPv4套接字地址结构相关的知识,希望对你有一定的参考价值。

一、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)套接字地址结构中的某些字段用在不同主机之间的通信中,但是结构本身并不在主机之间传递

以上是关于IPv4套接字地址结构的主要内容,如果未能解决你的问题,请参考以下文章

套接字地址结构

套接字地址结构

Unix网络编程chapter3套接字编程简介

IPv4地址的结构体与网络字节序

套接字地址结构

套接字编程