Linux网络编程总结

Linux网络编程目录:

1.网络通信基础
2.Socket编程
3.高并发服务器
4.UDP服务器
5.Socket IPC(本地套)

//

1.网络通信基础

(1)网络应用程序设计模式
C/S模型
B/S模型
Linux网络编程总结
(2)网络通信分层模型
OSI七层模型与TCP/IP四层模型
Linux网络编程总结
网络通信过程:封装与解封装
Linux网络编程总结
Linux网络编程总结
数据包封装格式
Linux网络编程总结
(3)各层典型协议
Linux网络编程总结
以太网帧格式:
Linux网络编程总结
IP段格式:
Linux网络编程总结
UDP数据包格式:
Linux网络编程总结
TCP数据报格式:
Linux网络编程总结
(4)TCP通讯过程
建立连接:三次握手
断开连接:四次握手
Linux网络编程总结
TCP流量控制:滑动窗口
Linux网络编程总结

2.Socket编程

(1)套接字概念
在Linux中,socket表示网络进程间通信的特殊文件:
Linux网络编程总结
用文件描述符对应接收和发送缓冲区:
Linux网络编程总结

(2)Socket API

Socket API为应用层提供一个编程接口
Linux网络编程总结
TCP服务器建立涉及到的socket API
Linux网络编程总结
(3)基于TCP协议的C/S模型
Linux网络编程总结
sever.c的主程序
Linux网络编程总结

3.高并发服务器

(1)多进程并发服务器
由服务器接收客户端连接,并fork一个子进程来负责客户端的数据处理
Linux网络编程总结

(2)多线程并发服务器
由服务器接收客户端连接,并创建一个子线程来负责客户端的数据处理
Linux网络编程总结
(3)多路IO转接服务器
由内核监听是否有客户端连接以及客户端是否传输数据,因此提高了服务器的程序效率。
Linux网络编程总结
三种实现方法:不同方法API函数不同
select
poll
epoll
epoll事件模型:
Linux网络编程总结

4.UDP服务器

Linux网络编程总结基于UDP协议的C/S模型
Linux网络编程总结

5.Socket IPC(本地套)

Linux网络编程总结
Linux网络编程总结