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安全错误
数据库的锁怎样保障安全
知茗网络技术服务
国内能交易软件开发
魔域数据库工具
通过终端可以查看服务器配置吗
神话数据库
安卓手机怎么加密数据库
初中生网络安全的重要性
友邻家业网络技术有限公司
gta服务器天才解说
一套云桌面系统需要几个服务器
土壤酶活数据库
义乌招软件开发要求
河北省网络安全讲话
洛阳铁路法学网络安全
网络安全等级测评师工资
十秒去数据库取一次值
网络安全大讲堂学习心得
smb服务器的搭建
福州德业互联网科技做什么的
数据库数据优化
vpn服务器限速
公司电脑服务器有垃圾回收站吗
数据库系统第七章数据库设计
Ei是不是数据库
深圳松下软件开发
高数计算机网络技术
山东多趣网络技术有限公司
网络安全漏洞扫描工具下载
图创计算机软件开发怎么样
服务器进不了官服怎么办csgo