Socket网络编程总结

Linux网络编程目录:

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

//

1.网络通信基础

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

2.Socket编程

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

(2)Socket API

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

3.高并发服务器

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

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

4.UDP服务器

Socket网络编程总结_第21张图片基于UDP协议的C/S模型
Socket网络编程总结_第22张图片

5.Socket IPC(本地套)

Socket网络编程总结_第23张图片
Socket网络编程总结_第24张图片

你可能感兴趣的:(socket)