socket ThreadingTCPServer学习笔记

文件上传
#
服务端 while True: conn,address = sk.accept() conn.sendall(bytes('欢迎你小sb',encoding='utf-8')) str_size = str(conn.recv(1024),encoding='utf-8') int_size = int(str_size) print(int_size) #创建文件 f = open('new.jpg','wb') has_recv = 0 #接受文件 while True: if has_recv == int_size: break else: date = conn.recv(1024) f.write(date) has_recv += len(date) f.close() #客户端 import socket import os obj = socket.socket() obj.connect(('127.1.1.1',9999,)) ret_bytes = obj.recv(1024) print(str(ret_bytes,encoding='utf-8')) #发送文件大小 size = os.stat('tp.jpg').st_size obj.sendall(bytes(str(size),encoding='utf-8')) #发送文件 with open('tp.jpg','rb') as f: for i in f: obj.sendall(i) obj.close()
ThreadingTCPServer
服务端
import socketserver
class MyServer(socketserver.BaseRequestHandler):
    def handle(self):
        conn = self.request
        conn.sendall(bytes('hello小sb',encoding='utf-8'))
        print(1)
if __name__ == '__main__':
    server = socketserver.ThreadingTCPServer(('127.1.1.1',9999), MyServer)
    server.serve_forever()


客户端
import socket
obj = socket.socket()
obj.connect(('127.1.1.1',9999,))
ret_bytes = obj.recv(1024)
print(str(ret_bytes,encoding='utf-8'))

obj.close()
原文地址:https://www.cnblogs.com/koushuige/p/7929412.html