摘要:
import socket import multiprocessing import re ''' WSGI协议 浏览器,http请求动态资源→web服务器(通过wsgi调用一个默认的application函数(字典, 函数名)) ''' class WSGIServer(): def __ini 阅读全文
摘要:
import socket import multiprocessing import re class WSGIServer(): def __init__(self): self.web_socket = socket.socket(socket.AF_INET, socket.SOCK_STR 阅读全文
摘要:
"""TCP-IP协议族:应用层:应用程序自身定义的协议,比如p = 100、HTTP也属于应用层比如说浏览器传输层:TCP、UDP(原始套接字可以直接从应用层到IP,可以伪装别人的IP发送消息)网络层:IP、ICMP(cmd通过ping命令直接查看网络是否正常不通过传输层,应用层→ICMP→IP) 阅读全文
摘要:
import socket import select ''' kernel:Linux的操作系统 epoll:创造一个特殊的内存空间,tcp服务器和操作系统共用,将套接字列表放在该内存,不再使用轮询的方式遍历列表,而采用事件通知 轮询:开发上讲遍历称为轮询 事件通知: ''' def tcp_se 阅读全文
摘要:
import socket """ 短链接:传输三个数据,传一个进行一次三次握手四次挥手,再传输一个,再建立一个三次握手四次挥手...... 长链接:只建立一次链接,传三个数据 """ def tcp_serve(resp_socket): resp_body = 'hahaha' resp_hea 阅读全文
摘要:
import socket ''' 用来验证协程的实现原理,除了多进程是直接进行多个任务进行,多线程和多线程的本质都是运用阻塞时间处理其他数据 进程是并行的,真正的同时运行;线程和协程是并发的,是运用间隔时间轮流调用 ''' tcp_socket = socket.socket(socket.AF_ 阅读全文
摘要:
import socket import gevent from gevent import monkey monkey.patch_all() def tcp_serve(resp_socket): recv_data = resp_socket.recv(1024) # 处于阻塞状态等待客户端给 阅读全文
摘要:
import socket import threading def tcp_serve(resp_socket): recv_data = resp_socket.recv(1024) print(recv_data) resp_data = 'HTTP/1.1 200 OK\r\n' + "\r 阅读全文
摘要:
import socket import multiprocessing def tcp_serve(resp_socket): recv_data = resp_socket.recv(1024) print(recv_data) resp_data = 'HTTP/1.1 200 OK\r\n' 阅读全文
摘要:
import socket def main(): """简单web服务器""" # 1、创建套间字 web_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) web_socket.setsockopt(socket.SOL_SOC 阅读全文