1.TCP 和 UDP 发送数据时的流程 *****
解释 为何TCP是可靠的 是因为发送数据后必须收到确认包
2. UDP的模板代码 *****
1、UDP协议: (数据报协议)
特点: 无连接
优点: 发送效率高,但有效传输的数据量最多为500bytes
缺点: 不可靠:发送数据,无需对确认,容易丢包
type参数为 SOCK_DGRAM
(UDP 一发对应一收,可以同时处理多个客户端 是因为CPU处理速度快 给人感觉像是同时处理)
1.TCP (流式协议)
半连接池的工作原理
目前我们的程序是单线程 服务器要么处理通讯要么处理连接请求 无法同时进行
2.TCP 和 UDP 发送数据时的流程 *****
解释 为何TCP是可靠的 是因为发送数据后必须收到确认包
3. UDP的模板代码 *****
1、UDP协议: (数据报协议)
特点: 无连接
优点: 发送效率高,但有效传输的数据量最多为500bytes
缺点: 不可靠:发送数据,无需对确认,容易丢包
UDP template 代码
进程
1、什么是程序?什么是进程?
程序说白了就是一堆文件
进程就是一个正在执行的过程/程序
所以说进程是一个抽象的概念
这个概念起源操作系统
2、什么是操作系统
定义:
操作系统是位于计算机硬件与应用软件之间
用于协调、管理、控制计算机硬件与软件的资源的
一种控制程序
3、操作系统的两大作用:
1、把复杂丑陋的硬件操作都封装成美丽的接口,提供给应用程序使用
2、把进程对硬件的竞争变的有序
批处理操作系统:(串行)
把程序员的程序攒成一堆
然后批处理系统读一道程序到内存然后执行
执行完毕后输出,然后才能读入下一道程序。。。
4、多道技术
产生背景:在单核下实现并发
(多道的产生背景是想要在单个cpu的情况下实现多个进程并发执行的效果)
两大核心点:
1、空间上的复用 (多道程序复用内存的空间)
内存分割为多个区域 每个区域存储不同的应用程序
2、时间上的复用 (多道程序复用CPU时间)
切:
1 正在执行的进程遇到IO操作时 会切换到其它程序 (切换前需要保存当前运行状态 以便恢复执行)
提高效率
2 当你的应用程序执行时间过长 操作系统会强行切走
以保证其他程序也能正常运行 当然因为cpu速度贼快 用户感觉不到
降低效率
3 有一个优先级更高的任务需要处理 此时也会切走
降低了效率
!!!!!应用软件的优化:最核心的优化就是减少IO操作,对硬盘的读写操作