Linux网络编程总结
Linux网络编程目录:
1.网络通信基础
2.Socket编程
3.高并发服务器
4.UDP服务器
5.Socket IPC(本地套)
//
1.网络通信基础
(1)网络应用程序设计模式
C/S模型
B/S模型
(2)网络通信分层模型
OSI七层模型与TCP/IP四层模型
网络通信过程:封装与解封装
数据包封装格式
(3)各层典型协议
以太网帧格式:
IP段格式:
UDP数据包格式:
TCP数据报格式:
(4)TCP通讯过程
建立连接:三次握手
断开连接:四次握手
TCP流量控制:滑动窗口
2.Socket编程
(1)套接字概念
在Linux中,socket表示网络进程间通信的特殊文件:
用文件描述符对应接收和发送缓冲区:
(2)Socket API
Socket API为应用层提供一个编程接口
TCP服务器建立涉及到的socket API
(3)基于TCP协议的C/S模型
sever.c的主程序
3.高并发服务器
(1)多进程并发服务器
由服务器接收客户端连接,并fork一个子进程来负责客户端的数据处理
(2)多线程并发服务器
由服务器接收客户端连接,并创建一个子线程来负责客户端的数据处理
(3)多路IO转接服务器
由内核监听是否有客户端连接以及客户端是否传输数据,因此提高了服务器的程序效率。
三种实现方法:不同方法API函数不同
select
poll
epoll
epoll事件模型:
4.UDP服务器
基于UDP协议的C/S模型