网络编程--Skr-Eric的编程课堂
讲解网络编程中的必需知识
Skr-Eric
文艺系程序猿一枚
展开
-
Skr-Eric的网络编程课堂(十一)-- 多线程并发和协程
多线程并发threading 的多线程并发对比多进程并发:* 消耗资源较少* 线程应该更注意共享资源的操作* 在python中应该注意GIL问题,网络延迟较高,线程并发也是一种可行的办法实现步骤1. 创建套接字,绑定监听2. 接收客户端请求,创建新的线程3. 主线程继续接收其他客户端连接...原创 2020-03-26 17:37:20 · 216 阅读 · 0 评论 -
Skr-Eric的网络编程课堂(十)-- 服务器模型
服务器模型硬件服务器 : 主机 集群厂商 : IBM HP 联想 浪潮软件服务器 :编写的服务端应用程序,在硬件服务器上运行,一般依托于操作系统,给用户提供一套完整的服务httpserver ---》 处理http请求webserver ---》 网站的后端应用服务器程序邮箱服务器 --》 邮件处理ftp文件服务器 --》 文件的上传下载...原创 2020-03-25 17:42:46 · 224 阅读 · 0 评论 -
Skr-Eric的网络编程课堂(九)-- 线程、进程线程的区别和联系
线程什么是线程线程也是一种多任务编程方法,可以利用计算机多核资源完成程序的并发执行。线程又被称为轻量级的进程。线程特征* 线程计算机多核分配的最小单位* 一个进程可以包含多个线程* 线程也是一个运行的过程,消耗计算机资源,多个线程共享进程的资源和空间* 线程的创建删除消耗的资源都要远远小于进程* 多个线程之间执行互不干扰* 线程也有自己的特有属性,比...原创 2020-03-24 17:39:45 · 205 阅读 · 0 评论 -
Skr-Eric的网络编程课堂(八)-- 信号通信、信号量、进程的同步互换和Lock锁
信号通信一个进程向另一个进程发送一个信号来传递某种讯息,接受者根据接收到的信号进行相应的行为kill -l 查看系统信号kill -sig PID 向一个进程发送信号关于信号信号名称 信号含义 默认处理方法SIGHUP 连接断开SIGINT CTRU-CSIGQUIT CTRU-\SIGTSTP CTRL-ZSI...原创 2020-03-23 16:51:58 · 303 阅读 · 0 评论 -
Skr-Eric的网络编程课堂(七)-- 多进程和进程间通信
multiprocessing 模块创建进程1. 需要将要执行的事情封装为函数2. 使用multiprocessing模块中Process类创建进程对象3. 通过对象属性设置和Process的初始化函数对进程进行设置,绑定要执行的函数4. 启动进程,会自动执行进程绑定的函数5. 完成进程的回收Process()功能 : 创建进程对象参数 : name ...原创 2020-03-20 17:06:22 · 230 阅读 · 0 评论 -
Skr-Eric的网络编程课堂(六)-- 多任务编程
多任务编程意义 : 充分利用计算机的资源提高程序的运行效率定义 : 通过应用程序利用计算机的多个核心达到同时执行多个任务的目的,一次提高计算机运行效率。实施方案 : 多进程 多线程并行 : 多个计算机核心在同时处理多个任务,这时多个任务间是并行关系。并发 : 同时处理多个任务,内核在多个任务间不断的切换,达到好像都在处理运行的效果。但实际一个时间点内核只能处理其中一个...原创 2020-03-18 17:53:06 · 202 阅读 · 1 评论 -
Skr-Eric的网络编程课堂(五)-- IO多路复用、poll、epoll和本地套接字
IO多路复用定义 : 同时监控多个IO事件,当哪个IO事件准备就绪就执行哪个IO事件。以此形成可用同时操作多个IO的并发行为,避免一个IO阻塞,造成所有IO都无法执行。IO准备就绪 : 是一种IO必然要发生的临界状态IO多路复用的编程实现1. 将IO设置为关注IO2. 将关注IO提交给内核监测3. 处理内核给我们反馈的准备就绪的IO具体方案:...原创 2020-03-17 16:56:43 · 191 阅读 · 0 评论 -
Skr-Eric的网络编程课堂(四)-- http请求和响应及IO分类
tcp应用之http传输http协议 : 超文本传输协议,是一个应用层协议用途 : 网页数据的传输数据传输方法特点 :1. 应用层协议,传输层使用tcp服务2. 简单,灵活,多种语言都有http相关操作接口3. 无状态的协议,即不记录用户传输的信息4. http1.1 支持持久连接一端通过http请求的格式发送具体请求内容,另一端接...原创 2020-03-16 17:41:11 · 547 阅读 · 0 评论 -
Skr-Eric的网络编程课堂(三)-- udp套接字编程
基于udp套接字的服务端1. 创建数据报套接字sockfd = socket(AF_INET,SOCK_DGRAM)2. 绑定地址sockfd.bind(addr)3. 消息的收发data,addr = sockfd.recvfrom(buffersize)功能 : 接收UDP消息参数 : 每次最多接收多大的消息返回值:data 接收到的数...原创 2020-03-13 16:59:37 · 208 阅读 · 0 评论 -
Skr-Eric的网络编程课堂(二)-- tcp套接字编程
socket套接字编程目标: 根据socket模块提供的接口函数,进行组合使 用完成基于tcp或者udp的网路编程。套接字 : 完成上述目标的一种编程手段,编程方案套接字分类:流式套接字(SOCK_STREAM): 传输层基于tcp协议 的套接字编程方案。数据报套接字(SOCK_DGRAM): 传输层基于udp协议的套接字编程方案。底层套...原创 2020-03-12 17:39:12 · 156 阅读 · 0 评论 -
Skr-Eric的网络编程课堂(一)-- 网络编程基础知识
网络功能 : 数据传输ISO(国际标准化组织)OSI七层模型 ---》 网络通信工作流程的标准化应用层 : 提供用户服务,具体功能由特定的程序而定表示层 : 数据的压缩优化,加密会话层 : 建立应用级的连接,选择传输服务传输层 : 提供不同的传输服务。流量控制网络层 : 路由选择,网络互连链路层 : 进行数据转换,具体消息的发送,链路连接物理层 : 物理硬...原创 2020-03-11 17:25:04 · 242 阅读 · 0 评论