首先学习了一下socket,这个经过周末作业总算是掌握精髓了,可能还没掌握只是以为掌握了?
import socketserverclass MyServer(socketserver.BaseRequestHandler):def handle(self):passserver = socketserver.ThreadingTCPServer(('192.168.13.84',8001,),MyServer)
server.serve_forever()
这里上传下载都要用self.request.send\recv开始也没多想,后来看这他吗是个类啊,def是函数,mysever能变,后面也能有很多参数然后每个函数里面再写入一些参数,就可以直接用self.xxx了
这个self比较省事了 省的写__init__了
2,初识线程
import threading #这个是引进线程的模块
def task(a1,a2,a3):time.sleep(2)print('拿快递')def play():print('和女朋友去耍')def wm():print('去拿外卖')# 创建一个线程
# 让该线程去执行任务:函数
t1 = threading.Thread(target=task,args=(1,2,3,)) #这个就是线程的固定写法没什么
# 去执行吧
t1.start()# 创建一个线程
# 让该线程去执行任务:函数
t2 = threading.Thread(target=play)
# 去执行吧
t2.start()# 创建一个线程
# 让该线程去执行任务:函数
t3 = threading.Thread(target=wm)
# 去执行吧
t3.start()print('玩扇子')
print('煽风点火')
print('耍贱...')
3.线程接收任务
import threadingdef task(n):print('开始执行任务:',n)time.sleep(10)print('...')print('任务%s 执行完毕:'%n)while True:name = input("请输入任务:")t = threading.Thread(target=task,args=(name,))t.start()能看懂上面的这个就没啥问题
4.socket和线程配合
import time
import socket
import threadingdef task(conn):time.sleep(20)data = conn.recv(1024)print(data)conn.close()server = socket.socket()
server.bind(('192.168.13.84',8001,))
server.listen(5)while True:conn,addr = server.accept()t = threading.Thread(target=task,args=(conn,)) #这传送过来conn就是接收的意思conn,addr,不知道为什么要家,t.start()
5。又解析socketserver看源码现在有点难,不过问题不大就是老师点的太快了。
6。uuid模块,根据时间生成字符串的,估计后面还会讲