目录
简单的文件ftp上传
-
server
import socket
import struct
service=socket.socket() service.bind(('127.0.0.1',8081))
while True:
service.listen(5) conn,address=service.accept()
print('有客户端连接进来了,地址如下',address)
#获取头的内容
dic_len_byte=conn.recv(4)
print(dic_len_byte)
dic_len=struct.unpack('i',dic_len_byte)[0]
print(dic_len)
dic_head=eval(conn.recv(dic_len))
data=conn.recv(dic_head['size'])
data_name=dic_head['name']
# print(data.decode('utf8'))
with open(data_name,'wb') as fw:
fw.write(data) -
client
import socket
import struct
client=socket.socket()
client.connect(('127.0.0.1', 8081))
import os
import json print(os.path.getsize('test.py'))
data_head={'size':os.path.getsize('test.py'),'name':'test_new.py'}
data_head_s=json.dumps(data_head)
data_head_bytes=data_head_s.encode('utf8')
print(data_head_bytes)
#把头的长度以长度为4的字节发送过去
head_len_bytes=struct.pack('i',len(data_head_bytes))
client.send(head_len_bytes)
client.send(data_head_bytes)
with open('test.py','rb') as fr:
data=fr.read()
client.send(data) -
测试文件
import json
ss={'name':'ypp','age':False}
data=json.dumps(ss) #转json字典为字符串(json格式) print(data)
print(type(data))
data1=json.loads(data)#字符串的json格式的字典 转为字典
print(data1)
print(type(data1))
sss=b'kkk\n\nkk'
print(str(sss.decode('utf8')))