![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python网络编程
文章平均质量分 50
专职
人生苦短,我用python
展开
-
python中实现简单web服务器和miniweb框架
1. 浏览器-服务器-框架概览图2. WSGI协议流程图浏览器和服务器之间进行通讯遵循http协议,服务器与框架之间通信遵循WSGI协议3. 源代码未完待续......原创 2021-09-04 19:14:30 · 126 阅读 · 0 评论 -
网络通信-python
1. 常用的网络协议ICMP协议又叫:网络控制协议2. 数据传输过程3. 两台电脑通信 网络传输的是数据的信号而不是电流4. IP地址网络号与主机号的确定规则 通过ip地址和网络掩码的二进制数实行按位与运算,计算的结果转换为十进制,非0的就是网络号,0的就是主机号5. 最开始集线器解决多台电脑通信 但是集线器是以广播的形式发送数据,设备一多就会导致网络拥堵。6. 使用交换机进行网...原创 2021-08-14 17:22:53 · 507 阅读 · 3 评论 -
python实现web服务器
1. 单进程、单线程实现Http服务器import socketimport redef service_client(cli_socket): recv_data = cli_socket.recv(10240).decode().splitlines() # GET /index.html HTTP/1.1 request_pattern = re.compile(r"[^/]+(/[^ ]*)") ret = request_pattern.match(r原创 2021-08-08 17:34:34 · 312 阅读 · 0 评论 -
tcp的三次握手、四次挥手-python
1. 三次握手(1)目的:保证了收发双方在收数据、发数据之前都准备好资源2. 四次挥手为什么是四次挥手而不是三次挥手?因为为了防止服务器端调用close过慢,导致给客户端发送的应答过慢。四次挥手的目的:客户端和服务器释放准备好的资源。客户端和服务器谁先调用close(),谁的资源就会等待2MSL时间在释放资源。三次握手:双方准备资源,四次挥手:双方释放资源...原创 2021-08-08 13:33:52 · 148 阅读 · 0 评论 -
python-多任务-协程
关系:迭代器--->生成器--->yield--->greenlet--->gevent1. 迭代器概念 迭代是访问集合元素的一种方式,迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,知道所有元素被访问完结束,迭代器只能往前不会后退。2. 自定义实现迭代器from typing import Iterable, Iterator# class ClassIterator(object):# """迭代器:特...原创 2021-08-04 19:10:37 · 74 阅读 · 0 评论 -
python-多任务-进程
1. 进程、程序的概念 程序:是没有运行的,静止的 进程:程序运行起来之后,代码加用到的资源称之为进程,进程拥有资源(网络功能、摄像头、键盘、内存)等,进程可以由操作系统去调度,进程是操作系统分配资源的基本单位。2. 进程完成多任务示例import timeimport multiprocessingdef sing(): while True: print(f"-----正在跳舞-----") time.slee...原创 2021-08-02 12:15:36 · 116 阅读 · 0 评论 -
python-多任务-线程
1. 多任务的概念 就是操作系统可以同时运行多个任务,真正的并行多任务只能在多核CPU上运行,但是由于任务数量远远多于CPU的核心数量,操作系统会自动把多任务轮流调度到每个核心上执行。单核CPU通过时间片轮转/优先级调度(操作系统的算法)实现多个任务几乎同时执行并发:多个任务同时执行,任务数<=CPU核心数并行:多个任务"同时"执行,任务数>CPU核心数线程的运行是没有先后顺序的,由操作系统说了算2. 线程-demoimport timefrom t...原创 2021-08-01 18:27:10 · 283 阅读 · 3 评论 -
什么是https?
1. 概念https是基于http和SSL/TLS实现的一个协议,他可以保证在网络上传输的数据都是加密的,从而保证数据安全。2. 请求流程图原创 2021-07-30 16:14:27 · 992 阅读 · 0 评论 -
python中的socket(网络编程)
1. 网络编程概念实现不同电脑中的软件(应用程序)之间的数据传递,即进程间的通信2. 网络通信必备的两点(1)IP:确定互联网中的哪一台电脑(2)Port:确定主机中的哪个应用程序有还有一个就是协议:IP地址+协议+端口3....原创 2021-07-25 11:39:56 · 1264 阅读 · 0 评论