Python-Socket大文件传输
2018-01-14 10:13:24 18 举报
登录查看完整内容
Python Socket文件传输流程
作者其他创作
大纲/内容
为空继续等待输入
客户端发送文件名
客户端启动后进行连接
14.检验文件和md5是否匹配
1.初始化socket
客户端请求
接受到客户端发送的文件名
2.绑定地址和端口设置监听数量
13.接受服务端发送来的文件md5值
7.准备开始接受数据发送确认信息
9.打开文件,发送文件,并且计算文件的md5值
数据接收完毕
文件不存在
持续接受数据
可能会有socket粘包问题
成功状态
8.准备文件md5
5.等待服务器判断文件是否存在
3.判断输入是否为空
12.发送文件md5
5.判断文件是否存在
改进版本
6.获取要传送文件大小
socket服务端
8.初始化接受数据
3.等待客户端连接
size = recv_totalsize-recv_sizeif size 1024: size = 1024else: print(\"最后一次接受数据大小:%s\" %(size))data = client.recv(size)recv_size += len(data)recv_data += dataf_new.write(data.decode())
成功
不存在
11.接受文件数据并且写入文件
文件存在状态
14.关闭server
关闭socket
2.等待用户输入
11.客户端是否成功接受数据
13.关闭conn
开始接受数据
6.计算文件大小发送给客户端
解决办法
文件大小
确认消息
7.等待客户端确认收到文件大小数据
9.开打文件,以写的方式
存在
10.数据是否接受完毕?
4.等待文件名输入
10.等待客户端确认
data = client.recv(1024)recv_size += len(data)recv_data += dataf_new.write(data.decode())
12.接受数据结束并且返回成功状态
4.发送文件名到服务端
socket客户端
0 条评论
回复 删除
下一页