# @Coding: utf-8 # @Time: 2021/8/3 3:13 import socket import os HOST = "0.0.0.0" PORT = 8181 so = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 建立Socket连接, AF_INEF说明使用IPv4地址, SOCK_STREAM指明TCP协议 so.bind((HOST, PORT))# 绑定IP和端口 so.listen(1)# 监听 #print(f"listen: {so.listen(1)} connected") conn, addr = so.accept()# 接收TCP连接, 并返回新的Socket对象 #print(f"Client: {addr} connected")# 打印客户端的IP message = "Connection Success" conn.send(message.encode('utf8'))# 向客户端发送当前的时间, send()函数接收的参数为bytes类型, #data = conn.recv(1024).decode()# 接收客户端发送的数据 #data1 = conn.recv(1024)# 接收客户端发送的数据 #print(data1) #l=data.split(' ') #step1:username d1=conn.recv(1024) #l1=data1.split(b' ') l1=d1.split(b' ') print(l1) username=l1[1].decode() print('username:',username) if os.path.exists('web//'+username): pass else: os.mkdir('web//'+username) conn.send(b'username') #step2:filename d2=conn.recv(1024) l2=d2.split(b' ') filename = l2[1].decode() #conn.send(b'filename') print('filename:',filename) conn.send(b'filename') #step3:filesize d3=conn.recv(1024) l3=d3.split(b' ') filesize=int(l3[1].decode()) #conn.send(b'filesize') print('filesize:',filesize) conn.send(b'filesize') #step4:content recvsize=0 f=open('web//'+username+'//'+filename,'wb') while recvsize1024: size=1024 else: size=filesize-recvsize data=conn.recv(size) datalen=len(data) recvsize+=datalen f.write(data) #content1=l1[7] #print('content:',content1) f.close() print("recvsize:",str(recvsize)) #f.close() conn.close()# 关闭连接 ''' f.write(content1) f.close() '''