Linux下网络编程学习杂记

1.TCP/IP协议的体系结构包含四层:应用层(负责应用程序的网络服务,通过端口号识别各个不同的进程)-》传输层(传输控制层协议TCP、用户数据报协议UDP、互联网控制消息协议ICMP)-》网络层-》网络接口层(负责将二进制流转换成数据帧,并进行数据帧的发送和接收)-》硬件层。

2.服务器是指能在网络上提供服务的任何程序;客户机是指用户为了得到某种服务所需运行的应用程序。

3.网络通信即为进程间的通信,套接口就是网络进程的ID。使用端口号和网络地址的组合能够唯一确定整个网路中的一个网络进程。

4.函数wait和函数waitpid都是用来获得终止子程序的信息。wait返回第一个终止的子程序,如果没有终止的子程序,它将阻塞;waitpid功能丰富,参数pid可以指定具体的子程序,参数options设置为WNOHANG,即使pid制定的子进程的终止状态不能立即得到,也不会造成僵尸进程。

5.当父进程没有捕获到子进程的信号,导致其他的子进程发生阻塞现象,子进程就成为了僵尸进程。

6.I/O模式:阻塞I/O模式(套接字默认);非阻塞I/O模式(轮询);I/O复用模式;信号驱动I/O模式(信号SIGIO);异步I/O模式(效率最高)。

7.epoll的优点:(1)支持一个进程打开大数目的socket描述符;(2)IO效率不随FD数目增加而线性下降

原文地址:https://www.cnblogs.com/jason1990/p/4659404.html