- 博客(13)
- 收藏
- 关注
原创 视频网站工作原理
用户上转:->转码(2k,1080p,720p…)->切片处理(把单个文件进行拆分)->文件记录(m3u8):①视频播放顺序②视频存放地址m3u8文件详解
2022-09-03 12:50:39 219
原创 九九乘法表
实现方式:1 while循环:代码示例:# 重复打印9⾏表达式j = 1while j <= 9: # 打印⼀⾏⾥⾯的表达式 a * b = a*b i = 1 while i <= j: print(f'{i}*{j}={j*i}', end='\t') i += 1 print() j += 12 for循环代码示例:for i in range(1,10): for j in range(1
2022-04-09 11:26:49 455
原创 静态Web服务器-命令行启动动态绑定端口号
1. 开发命令行启动动态绑定端口号的静态web服务器实现步骤:获取执行python程序的终端命令行参数 判断参数的类型,设置端口号必须是整型 给Web服务器类的初始化方法添加一个端口号参数,用于绑定端口号2.import socketimport sysimport threading# Web服务器类class Httpwebserver(object): def __init__(self, port): # 创建服务端套接字 tcp
2022-04-05 15:27:39 95
原创 静态Web服务器-面向对象开发
1. 以面向对象的方式开发静态Web服务器实现步骤:把提供服务的Web服务器抽象成一个类(HTTPWebServer) 提供Web服务器的初始化方法,在初始化方法里面创建socket对象 提供一个开启Web服务器的方法,让Web服务器处理客户端请求操作。import socketimport threading# 定义Web服务器类class Httpwebserver(object): def __init__(self): # 创建服务端套接字
2022-04-05 15:23:26 65
原创 静态Web服务器-返回指定页面数据
import socketdef main(): # 创建服务端套接字 tcp_server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 设置端口号复用 tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True) # 绑定端口 tcp_server_socket.bind(('', 9000).
2022-04-05 15:17:45 89
原创 多任务Tpc服务端开发:实现同时服务于多个tpc客户端
步骤:编写一个TCP服务端程序,循环等待接受客户端的连接请求 当客户端和服务端建立连接成功,创建子线程,使用子线程专门处理客户端的请求,防止主线程阻塞 把创建的子线程设置成为守护主线程,防止主线程无法退出。 import socketimport threading# 处理客户端的请求操作函数def handle_client_request(ip_port, new_client): # 循环接收客户端发送的数据 while True: # 5.接受客户端
2022-03-31 11:50:09 205
原创 简单tpc服务端程序开发
import socket# 1.创建服务端套接字tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 设置端口号复用的代码:# 参数1: 表示当前套接字# 参数2: 设置端口号复用选项# 参数3: 设置端口号复用选项对应的值tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)# 2.绑定端口号tcp_s.
2022-03-31 11:40:28 180
原创 互斥锁: 对共享数据进行锁定,保证同一时刻只能有一个线程去操作。
import threadingimport time# 定义全局变量g_num = 0# 创建全局互斥锁mutex = threading.Lock()# 循环一次给全局变量加1def task1(): # 上锁 mutex.acquire() for i in range(10000): global g_num g_num += 1 print("1_num:", g_num) # 释放锁 mutex..
2022-03-31 09:30:10 489
原创 多线程的使用
类似多进程代码如下:# 1.导入包import threadingimport time# 2.定义线程任务# 唱歌任务def sing(): # 扩展: 获取当前线程 # print("sing当前执行的线程为:", threading.current_thread()) for i in range(3): print("正在唱歌...%d" % i) time.sleep(1)# 跳舞任务def dance():
2022-03-30 23:31:50 67
原创 强制结束主进程:1.设置守护主进程方式: 子进程对象.daemon = True,2.销毁子进程方式: 子进程对象.terminate()
import multiprocessingimport time# 定义进程所需要执行的任务def task(): while True: print('正在执行中.......') time.sleep(0.1)#if __name__ == '__main__': # 创建子进程 task_process = multiprocessing.Process(target=task) # 设置守护主进程,主进程退出子进程直接销.
2022-03-30 23:27:41 354
原创 01-多进程的简单使用
import multiprocessingimport time# 跳舞任务def dance(): for i in range(5): print("跳舞中...") time.sleep(0.2)# 唱歌任务def sing(): for i in range(5): print("唱歌中...") time.sleep(0.2)if __name__ == '__main__': # 创建.
2022-03-30 23:18:59 53
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人