LINUX(socket)网络编程部分头文件归纳解释
2017-12-19 10:40
316 查看
在linux网络编程学习阶段,相信你所看到的书中或者博客中都会出现大量的头文件,这篇博客会对用到的头文件进行说明归纳,让你更清晰快捷的了解他们:
1.unistd.h
unistd.h 是 C 和 C++ 程序设计语言中提供对 POSIX 操作系统 API 的访问功能的头文件的名称。该头文件由
POSIX.1 标准(单一UNIX规范的基础)提出,故所有遵循该标准的操作系统和编译器均应提供该头文件(如
Unix 的所有官方版本,包括 Mac OS X、Linux 等)。
对于类 Unix 系统,unistd.h 中所定义的接口通常都是大量针对系统调用的封装(英语:wrapper
functions),如 fork、pipe 以及各种 I/O 原语(read、write、close
等等)。
2.sys/socket.h
提供socket操作的各种接口函数,例如创建套接字函数,绑定,监听,连接等等;还提供了socket的各种数据结构,比如各种地址结构体,用于socket的函数操作。
如图是man手册提供关于socket.h头文件的函数参数等详细图片:
3.netinet/in.h:定义数据结构sockaddr_in等套接字地址结构
struct
sockaddr_in {
short
sin_family;
// 2 bytes e.g. AF_INET, AF_INET6
unsigned
short
sin_port;
// 2 bytes e.g. htons(3490)
struct
in_addr sin_addr;
// 4 bytes see struct in_addr, below
char
sin_zero[8];
// 8 bytes zero this if you want to
};
4. arpa/inet.h:提供IP地址转换函数
inet_aton,inet_addr,inet_ntoa这些ipv4的地址转换函数,以及新加入的inet_pton,inet_ntop这两个对ipv4/ipv6都支持的地址转换函数;
5.netinet.h:网络字节序和主机字节序的转换/字节排序函数
由于网络字节序和主机字节序采用不同的存储方式,大小端不同,在传输数据在网络和主机交换时候必须进行字节排序,才可以正确传递信息;
该头文件提供了如下几个函数:htons,htonl,ntohs,ntohl;
6.还可能用到的头文件及简单介绍:
netdb.h:提供设置及获取域名的函数
sys/ioctl.h:提供对I/O控制的函数
sys/poll.h:提供socket等待测试机制的函数
errno.h:提供错误号errno的定义,用于错误处理
fcntl.h:提供对文件控制的函数
time.h:提供有关时间的函数
crypt.h:提供使用DES加密算法的加密函数
pwd.h:提供对/etc/passwd文件访问的函数
pthread.h:提供多线程操作的函数
signal.h:提供对信号操作的函数
sys/wait.h、sys/ipc.h、sys/shm.h:提供进程等待、进程间通讯(IPC)及共享内存的函数
相关文章推荐
- Linux网络编程之SOCKET文件传输
- Linux socket 网络编程 常用头文件
- Linux网络编程之SOCKET文件传输
- Linux socket 网络编程 常用头文件
- Linux socket 网络编程 常用头文件
- 文件属性-3.2.linux应用编程和网络编程第2部分
- linux网络编程入门——基于socket的proxy
- linux下网络编程 SOCKET使用方法
- Linux网络编程一步一步学-编写一个HTTP协议的目录浏览和文件下载服务器
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分
- [转]Linux下Socket网络编程,文件传输,数据传输的C语言例子
- Linux 网络程序编程初步 Socket
- Linux下Socket网络编程
- linux网络编程常用函数详解与实例(socket-->bind-->listen-->accept)
- Linux网络编程socket错误分析
- 在C#中使用异步Socket编程实现TCP网络服务的C/S的通讯构架(一)----基础类库部分
- Linux Socket 网络编程 (IBM网站)第二章
- c# winform socket网络编程,点对点传输文件,socket文件传输,监听端口
- c# winform socket网络编程,点对点传输文件,socket文件传输,监听端口
- Linux Socket 网络编程 (IBM网站)第一章