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