当前位置: 首页 > news >正文

上海网页设计公司兴田德润电话谷歌优化公司

上海网页设计公司兴田德润电话,谷歌优化公司,ppt免费背景图片,温州市建设工程质监站网站1 背景说明 使用 Python 的 socket 模块可以实现简单的文件上传和下载功能,可支持文件、图片上传。 2 服务器端代码 (socket_fileupload_server.py) 服务器端负责接收客户端发送的文件并保存。 import socket from datetime import datetimedef file_upload_ser…

1 背景说明

使用 Python 的 socket 模块可以实现简单的文件上传和下载功能,可支持文件、图片上传。

2 服务器端代码 (socket_fileupload_server.py)

服务器端负责接收客户端发送的文件并保存。

import socket
from datetime import datetimedef file_upload_server(host='127.0.0.1', port=12345, max_listen=5):"""定义一个文件上传服务器:param host: IP地址,默认127.0.0.1:param port: 端口,默认8080:param max_listen: 最大监听数,默认5:return: 无"""# 创建 socket 对象,采用IP4、字节流(tcp)进行通信socket_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 绑定地址和端口socket_server.bind((host, port))# 设置最大监听数socket_server.listen(max_listen)print(f'[{datetime.now().strftime("%Y-%m-%d %H:%M:%S")}] 服务器启动,等待连接……')# 接受客户端连接client_socket, client_address = socket_server.accept()print(f'[{datetime.now().strftime("%Y-%m-%d %H:%M:%S")}] 连接来自:{client_address}')# 接收文件名称file_name = client_socket.recv(1024).decode('utf-8')print(f'[{datetime.now().strftime("%Y-%m-%d %H:%M:%S")}] 接收文件名称为:{file_name}')# 接收文件数据with open(file_name, 'wb') as f:# 循环接收数据while True:# 获取数据,每次最大为1024Bdata = client_socket.recv(1024)# 如果接收数据为空,则跳出循环if not data:break# 将接收的数据写入到文件f.write(data)print(f'[{datetime.now().strftime("%Y-%m-%d %H:%M:%S")}] 文件 {file_name} 接收完成!')# 关闭客户端连接client_socket.close()# 关闭服务器连接socket_server.close()print(f'[{datetime.now().strftime("%Y-%m-%d %H:%M:%S")}] 服务器已关闭')if __name__ == '__main__':# 启动文件上传服务区器file_upload_server()

3 客户端代码 (socket_fileupload_client.py)

客户端负责读取本地文件并将其发送到服务器。

import socket
from datetime import datetimedef file_upload_client(file_path, host='127.0.0.1', port=12345):"""定义一个文件上传客户端:param file_path: 文件路径信息,格式为:d:/files/test.txt:param host: IP地址,默认127.0.0.1:param port: 端口,默认8080:return:无"""# 创建 socket 对象,采用IP4、字节流(tcp)进行通信client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 连接服务器client_socket.connect((host, port))print(f'[{datetime.now().strftime("%Y-%m-%d %H:%M:%S")}] 服务器连接成功!')# 获取文件名,支持文件路径:d:/files/test.txtfile_name = file_path.split('/')[-1]# 将文件名发送给服务器client_socket.send(file_name.encode('utf-8'))print(f'[{datetime.now().strftime("%Y-%m-%d %H:%M:%S")}] 上传文件名为:{file_name}')# 读取文件名with open(file_path, 'rb') as f:# 循环读取文件信息并发送while True:# 获取数据,每次最大为1024Bdata = f.read(1024)# 如果接收数据为空,则跳出循环if not data:break# 将读取的数据发送给服务器client_socket.send(data)print(f'[{datetime.now().strftime("%Y-%m-%d %H:%M:%S")}] 文件 {file_name} 发送完成!')# 关闭连接client_socket.close()print(f'[{datetime.now().strftime("%Y-%m-%d %H:%M:%S")}] 客户端已关闭')if __name__ == '__main__':# file_img_path = 'F:/Pictures/桌面.jpg'# file_upload_client(file_img_path)file_path = 'F:/Documents/测试文档.txt'file_upload_client(file_path)
http://www.dtcms.com/a/567227.html

相关文章:

  • 有什么网站做微商Wordpress如何接入visa支付
  • 西宁做网站建设公司哪家好关于建设工程资料的网站
  • 好用的网站建设大连市住房与城乡建设部网站
  • 网站建设费用报价做网站备案要多久
  • 多个wordpress站点互相百度seo培训
  • 六西格玛笔记
  • 宿迁市住房和城乡建设局网站北京摇号网站维护
  • 国外做黄漫的网站有哪些品牌网站设计制作多少钱
  • 钓鱼网站图片南宁百度seo
  • 目标检测数据集——路面裂缝检测数据集
  • 在上阿里云做网站wordpress文章底部内容
  • 个人博客网站需求分析旅游网站建设实训报告
  • 大浪做网站公司做搜狗网站排名软件
  • 网站建设销售要懂什么怎么用7牛云做网站
  • 中国美院网站建设公司绿植行业做网站的
  • 嘉兴简单建站毕业设计平台
  • 如何开通免费网站企业常用的网络营销方法
  • 安徽华建建设工程公司网站建行手机银行app
  • 房屋设计装修网站行业网站推广
  • 网站建设调研论文抚顺网络推广
  • 昆明 五华 网站建设企业网站建设验收
  • 软件介绍网站模板贵州省公路建设有限公司网站
  • 企业网站推广名词解释dede 网站模板
  • 中国万网域名注册价格无锡做网站优化哪家好
  • 保护膜 东莞网站建设新闻资讯专业翻译公司
  • 招聘网站建设与开发要求设计师浏览网站
  • 做网站可以用php吗网络课程开发
  • 商务网站建设教学视频教程网页源代码中
  • 展示型网站源码境外电商网站建设
  • 购物网站英文介绍ui是做网站的吗