python怎么实现TCP文件接收和发送
发表于:2024-11-16 作者:千家信息网编辑
千家信息网最后更新 2024年11月16日,本篇内容主要讲解"python怎么实现TCP文件接收和发送",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"python怎么实现TCP文件接收和发送"吧!1、
千家信息网最后更新 2024年11月16日python怎么实现TCP文件接收和发送
本篇内容主要讲解"python怎么实现TCP文件接收和发送",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"python怎么实现TCP文件接收和发送"吧!
1、发送
根据自己需求修改,简单局域网下完成文件收发
客户端
# 由客户端向服务器传数据,文件import socketimport tqdmimport osdef send(filename): # 传输数据间隔符 SEPARATOR = '' # 服务器信息 host = '127.0.0.1' port =1234 # 文件缓冲区 Buffersize = 4096*10 # 传输文件名字 filename = filename # 文件大小 file_size = os.path.getsize(filename) # 创建socket链接 s = socket.socket() print(f'服务器连接中{host}:{port}') s.connect((host, port)) print('与服务器连接成功') # 发送文件名字和文件大小,必须进行编码处理 s.send(f'{filename}{SEPARATOR}{file_size}'.encode()) # 文件传输 progress = tqdm.tqdm(range(file_size), f'发送{filename}', unit='B', unit_divisor=1024) with open(filename,'rb') as f : # 读取文件 for _ in progress: bytes_read = f.read(Buffersize) if not bytes_read: break # sendall 确保网络忙碌的时候,数据仍然可以传输 s.sendall(bytes_read) progress.update(len(bytes_read)) # 关闭资源 s.close()if __name__ == '__main__': filename = input('请输入文件名:') send(filename)
2、接收
服务器端
import socketimport tqdmimport osimport threadingdef received(): # 设置服务器的ip和 port # 服务器信息 sever_host = '127.0.0.1' sever_port =1234 # 传输数据间隔符 SEPARATOR = '' # 文件缓冲区 Buffersize = 4096*10 s = socket.socket() s.bind((sever_host, sever_port)) # 设置监听数 s.listen(128) print(f'服务器监听{sever_host}:{sever_port}') # 接收客户端连接 client_socket, address = s.accept() # 打印客户端ip print(f'客户端{address}连接') # 接收客户端信息 received = client_socket.recv(Buffersize).decode() filename ,file_size = received.split(SEPARATOR) # 获取文件的名字,大小 filename = os.path.basename(filename) file_size = int(file_size) # 文件接收处理 progress = tqdm.tqdm(range(file_size), f'接收{filename}', unit='B', unit_divisor=1024, unit_scale=True) with open('8_18_'+filename,'wb') as f: for _ in progress: # 从客户端读取数据 bytes_read = client_socket.recv(Buffersize) # 如果没有数据传输内容 if not bytes_read: break # 读取写入 f.write(bytes_read) # 更新进度条 progress.update(len(bytes_read)) # 关闭资源 client_socket.close() s.close()if __name__ == '__main__': received()
到此,相信大家对"python怎么实现TCP文件接收和发送"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
文件
服务器
服务
客户
客户端
数据
传输
信息
内容
名字
大小
缓冲区
资源
处理
学习
监听
缓冲
实用
更深
成功
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
证券期货软件开发许可
西继迅达服务器怎么操作
中国人民共和国网络安全阀
软件开发运行原理
网络安全保险如何构建基础数据库
ftp服务器程序介绍
呼市新华互联网科技怎么样
机房服务器闪红灯
免费查重软件会查数据库吗
网络安全知识学什么专业
自考计算机网络安全需要怎么学
企业网络安全最佳实践电子版
如何提高网络安全意识建议
南京海航软件开发成本
完美平台显示连接服务器失败
河南双线服务器
微信小程序 服务器
成都起微网络技术有限公司
基岩版服务器没有权限可用指令
ftp服务器手机连接失败
如何搭建饥荒联机版服务器
互联网数据库 教学目标
松江区质量网络技术服务
nosql是指不是关系数据库
瑞庭网络技术广州
庆云软件开发文档
dell服务器格式化
网络安全与犯罪科学就业
我想要看网络安全手抄报
数据库为何无法登录