Socket:
1.套接字中使用的协议族
2.套接字数据传输类型信息
3.计算机间通信中所使用的协议信息
PF_INET协议族中, 符合SOCK_STREAM的只有一个: tcp 所以第三个参数为0
UDP同理
TCP套接字: 可靠的,按序传递的,基于字节的面向连接的数据传输方式的套接字
:tcp套接字数据不存在边界
UDP套接字: 不可靠的,不按序传递的, 以数据的高速传输为目的的套接字
:udp套接字数据存在边界
地址族:
ipv4地址族
网络地址分类与主机地址边界
端口号
端口号就是在同一操作系统内为区分不同套接字而设置的,因此无法将1个端口号分配给不同套接字。另外,端口号由16位构成,可分配的端口号范围是0-65535。但0-1023是知名端口( Well-known PORT),一般分配给特定应用程序,所以应当分配此范围之外的值。另外,虽然端口号不能重复,但TCP套接字和UDP套接字不会共用端口号,所以允许重复。例如:如果某TCP套接字使用9190号端口,则其他TCP套接字就无法使用该端口号,但UDP套接字可以使用。
网络字节序与地址变换
CPU向内存保存数据的方式有2种,这意味着CPU解析数据的方式也分为2种。
口 大端序(Big Endian):高位字节存放到低位地址。
口小端序(Little Endian):高位字节存放到高位地址。
仅凭描述很难解释清楚,下面通过示例进行说明。假设在0x20号开始的地址中保存4字节int类型数0x12345678。大端序CPU保存方式如图3-4所示。