套接字编程准备

字节序函数

内存中储存16位整数(两个字节)有两种方法,一种是将底序字节存储在起始地址,这称为小端字节序,另一种是将高序字节存储在起始地址,这称为大端字节序。如下图:

套接字编程准备_第1张图片

网际协议在处理这些多字节整数时,使用大端字节序。主机字节序和网际字节序间的相互转换函数如下:

套接字编程准备_第2张图片

其中h代表host,n代表network,s代表short(16位整数),l代表long(32位整数)

字节操纵函数

这里的字节操纵函数主要有两组,b打头的bzero和bcopy等函数和mem打头的memset等函数,这些函数平时使用较多,这里不做过多的说明,函数原型如下:

套接字编程准备_第3张图片

套接字编程准备_第4张图片

地址转换函数

人们习惯使用点分十进制数的格式表示IP地址,但有好多时候需要网络字节序二进制值(此值存于套接口地址结构中),这时就需要用到相应的转化函数,如下:

套接字编程准备_第5张图片

上面3个函数只能对Ipv4地址进行转换,下面两个较新的函数对IPv4和IPv6的地址都能处理,切通常都会使用这两个函数,如下:

套接字编程准备_第6张图片

 

 

 

你可能感兴趣的:(unix网络编程)