tcp文件传输工具

阅读: 评论:0

tcp文件传输工具

tcp文件传输工具

高效解决文件传输问题,支持普通文件和文件夹的传输

####通信协议设计

  1. 基于TCP协议,服务器默认端口号为9999;
  2. 客户端连接服务器成功后,客户端不发送任何消息,服务器端以文件为单位将所有数据依次发送给客户端,在发送单个文件时,首先将该文件的描述信息(定长包头,长度为347B)发送给客户端,紧接着发送文件数据给客户端,这样就完成了一个文件的发送,当发送完所有文件数据后就断开连接;
  3. 文件描述信息结构为:文件名(300B,右边填充空格,UTF-8编码,如果发送的是一个普通文件,该字段的值为其文件名,如果发送的是一个文件夹,该字段的值为文件的相对路径,即相对要发送的文件夹的路径,没有斜线前缀) + 文件大小(15B,右边填充空格,如果为空文件夹,该字段的值为-1) + 文件MD5值(32B,大写形式,如果是空文件夹,该字段的值为32个空格)

客户端:

import socket
import sys
import os
import hashlib
import time
import progressbar# 引入一个md5值
def get_file_md5(file_path):m = hashlib.md5()# 文件遍历with open(file_path, "rb") as f:while True:data = f.read(1024)if len(data) == 0:break

本文发布于:2024-02-02 19:37:48,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170687386445988.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:文件传输   工具   tcp
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23