在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)网络编程部分头文件归纳解释相关推荐

  1. 【linux高级程序设计】(第十三章)Linux Socket网络编程基础 2

    BSD Socket网络编程API 创建socket对象 int socket (int __domain, int __type, int __protocol) :成功返回socket文件描述符, ...

  2. Linux socket 网络编程 常用头文件

    一 三种类型的套接字: 1.流式套接字(SOCKET_STREAM) 提供面向连接的可靠的数据传输服务.数据被看作是字节流,无长度限制.例如FTP协议就采用这种. 2.数据报式套接字(SOCKET_D ...

  3. Linux Socket网络编程UDP、TCP 阻塞与非阻塞 断线重连机制

    三种非阻塞模式的方法: (1) fcntl函数 int Mode = fcntl(sockfd, F_GETFL, 0);       //获取文件的Mode值     fcntl(sockfd, F ...

  4. Linux socket网络编程实现FTP服务器

      服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接.在这时如果有个客户端初始化一个Socket,然后连接服务器(conn ...

  5. Linux socket 网络编程常用函数总结

    1.字节序函数 #include <netinet.h> uint16_t htons(uint16_t host16bitvalue); uint32_t htonl(uint32_t  ...

  6. Linux 网络编程——socket 网络编程

    文章目录 一.网络基础 TCP/UDP对比 TCP/IP协议族体系 socket IP地址 IP地址转化API inet_addr() inet_aton() inet_ntoa() inet_pto ...

  7. Linux C++/Java/Web/OC Socket网络编程

    一,Linux C++ Socket网络编程 1.什么是TCP/IP.UDP? TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制 ...

  8. Linux Kernel TCP/IP Stack — Socket Layer — TCP/UDP Socket 网络编程

    目录 文章目录 目录 TCP/UDP Socket 逻辑架构 创建 Socket 绑定 Socket 请求建立 Socket 连接 监听 Socket 接受请求 关闭连接 数据的发送和接收 send ...

  9. 基于Linux的socket网络编程项目——游侠手机商城

    基于Linux的socket网络编程项目--游侠手机商城 一.项目说明 二.项目使用的技术 三.客户端搭建 四.服务器端搭建 一.项目说明 本项目是一个仿真手机商城类系统,基本功能: 登录界面功能:用 ...

  10. linux下C语言socket网络编程简例

    转自博文:http://blog.csdn.net/kikilizhm/article/details/7858405 在练习写网络编程时,该例给了我帮助,在写服务器时,我把while逻辑位置想法错了 ...

最新文章

  1. Net WebClient 异步批量下载文件
  2. 信贷风控知识问答库(持续更新)
  3. 3.26日第六次作业,第10章质量,11章人力
  4. DDOS***类型以及iptables防范ddos脚本
  5. 关于@AspectJ的几个问题
  6. 【华为云技术分享】万万没想到,我在夜市地摊解决了MySQL临时表空间难题~~
  7. ups容量计算和配置方法_山埔UPS电源后备时间计算方法
  8. UVA10608 Friends【并查集】
  9. curl post json_Go Web编程--解析JSON请求和生成JSON响应
  10. java的安装_java 安装步骤
  11. java设计模式adapter,java设计模式-适配器模式(Adapter)
  12. 力扣牛客每日刷题(Python解法持续更新)
  13. python抓取股票竞价数据_Python 抓取新浪财经股票数据
  14. 计算机故障维修要遵循什么原则,超级实用的六条法则教你快速搞定电脑故障维修!...
  15. 家庭监控安防行业存在哪些问题?看TSINGSEE青犀视频如何解决
  16. 学习c++的50条忠告(转自C++百度贴吧)
  17. 计算机多媒体课程教师教学心得,简易多媒体环境的教学功能心得体会
  18. 用python做生日礼物_利用python画一份素描合集,给女朋友一份独特生日礼物
  19. Openstack之路(九)云硬盘服务Cinder
  20. 不走寻常路的Logitech G120

热门文章

  1. 最新版2020.11版本Anaconda百度网盘提取下载
  2. el-input 正则,非负数且只有一个小数点
  3. War3地图编辑器基础:物体编辑器F6(自定义单位+单位属性设置)
  4. 什么是 DOORS?
  5. 《Python编程-从入门到实践》
  6. python 培训教程
  7. 云原生服务网格 Istio 1.4 部署指南
  8. Crowd Counting P2PNet 复现
  9. 用python解“计算工资”题
  10. C++函数参数省略号