Python 实现简单的C/S在线更新程序

Python实现网络聊天室(支持多人聊天与私聊) 实验名称: 网络聊天室 功能: i. 掌握利用Socket进行编程的技术 ii. 掌握多线程技术,保证双方可以同时发送 iii. 建立聊天工具 iv. 可以和单人聊天 v. 可以和多个人同时进行聊天 vi. 使用图形界面,显示双方的语录 vii. 程序可以在一定程度上进行错误识别 概述 实验通过聊天室可以完成单人或多人之间的聊天通信,功能的实现主要是通过Socket通信来实现。本次实验采用客户端/服务器(C/S)架构模式,通过Python语言来编写服务器端与客户端的程序。运用多线程可完成多点对多点的聊天。 阅读详情

使用urllib 直接下载html

服务端 Respones把 安装包msi 的二进制流 输出,客户端判断下载下来的文件大小,

一般很小 就有可能是404等信息,只需判断文件大小来决定是否运行更新程序即可

如果为空则输出版本号,放到一个后台线程中运行 就OK了,只用更新服务端文件,

客户端登录自动安装更新,部分代码

class UpdateTimer(threading.Thread):
	Runing=False
	def __init__(self):
		threading.Thread.__init__(self)
		self.setDaemon(True)
		#self.start()


	def start(self):
		if UpdateTimer.Runing:return
		UpdateTimer.Runing=True
		threading.Thread.start(self)

	def run(self):
		try:
			if not Cfg.TestConnection():return
			def urlcallback(block_num,bloack_size,total_size):
				pass
#				if not total_size:return
#				#print total_size
#				prec=100.0*block_num*bloack_size/total_size
#				if 100 < prec:prec=100
#				#print "%.2f%%"%(prec,)
			local_path=GetCurrentPath()+'/run.msi'
			#if os.path.exists(local_path):os.remove(local_path)
			remote_path='http://'+Cfg.c_serveraddr+':81/update.aspx?type=doc&v='+Cfg.version+'&r='+str(Random())
			urllib.urlretrieve(remote_path,local_path,urlcallback)
			if os.path.getsize(local_path)/(1024*1024)<15:return
			if not MessageBoxConfirm("当前检测到新版本客户端,\n现在安装吗?"):return
			#os.popen(local_path)
			#os.system(local_path)
			#'msiexec.exe','*.msi','%systemroot%',SW_SHOWNORMAL
			#win32api.ShellExecute(None,"open",local_path,"","",win32con.SW_SHOW)
			win32api.ShellExecute(None,'open','msiexec.exe',' /a run.msi','%systemroot%',win32con.SW_SHOW);
		finally:
			UpdateTimer.Runing=False


def CheckForUpdate():
	UpdateTimer().start()



Python脚本生成的exe文件自动升级程序实现方法 最近同事使用python写了一个在公司内部使用的 C/S 架构的软件,主要功能在服务端完成。通过pyinstaller 生成 exe的客户端,希望能够给客户端增加版本校验自动升级功能在这里记录下实现的过程 升级思路:1. 下载新版软件 2. 关闭当前运行的旧版软件 3. 删除旧版软件 3. 启动新的软件 网上搜索了下,大多数的实现方式都是使用2个exe,来完成。 在这里我不想使用2个exe,决定 阅读详情

相关推荐

Linux下Python与C程序进程间通信

这几天做了一点事情,略微有些收获,跟大家分享一下 Python大家应该比较熟悉,很好的一门语言,最近几年一直很流行,尤其是在外企,比较有名的IT公司几乎毫无例外的都使用python,像Intel, Marvell, Cisco, EMC等等。 我也认为这门语言很优秀,首先是语法简单,学起来很快,如果有c++经验的话几天就上手了, 其次是开源,那就意味着你可

三哥的技术专栏 6644

python+qt实现CS端软件自动更新的功能

公司业务基本都是CS端软件,有时候需要升级软件的时候需要客户把设备寄回公司来才能完成升级,感觉很不方便。前段时间公司做了个support技术支持的网站,因此想做个在线升级的软件,通过可视化界面(qt)和python下载上传到网站上的文件,来完成自动更新升级的功能。 一、python基于http协议下载文件 python下载网站上的文件有多种方法,这里采用requests的库,通过一些逻辑实现断...

qq_38639426的博客 4274

用Python实现一个软件自动升级系统

用Python实现一个软件自动升级系统。设计思路很简单:当有新版本需要发布时,将文件放在服务端,生成一个记录每个文件变化的配置文件。客户端本地也有一个记录文件信息的配置文件,客户端检查更新时,将服务端的配置文件下载下来,与本地配置文件进行比较,然后下载有变化的文件,覆盖本地文件(如果文件正在使用中,可能无法覆盖,这时候更新前应该先关闭正在运行的客户端),中间有Tkinter做的界面提示更新进度。更新结束后根据策略决定是否重启客户端。

python 实现软件更新

软件在线更新

qq_21009513的博客 3564

完整实用的软件在线更新程序

完整实用的软件在线更新程序 可以较好实现软件的在线更新,具有参考价值

c/s应用程序自动升级程序

--软件名称:软件自动升级系统 --适用范围:pb8 + mssql server 2000 --开发日期:2003-09-26 --版权所有:Susue 未经许可不得仿制,反编译 --系统原理:将系统文件打包,存入数据库,升级时再还原为磁盘文件 -------------------------------------------------------------- --使用简单说明 --1--数据库连接,首先配置 dbc.ini 文件的 [Update] 小节(即连接参数) --2--打包文件,运行 ftd.exe 将系统用到或升级用到的文件打包进数据库,一次只能上传 1 个文件。 --3--升级程序,直接运行 dtf.exe 即可,或在程序中调用,方法如下: run('dtf.exe') halt close 备注:(系统必须的文件) mssql 直连需3个文件 dbnetlib.dll dbnmpntw.dll ntwdblib.dll pb8 运行库需4个文件 libjcc.dll (可选) pbvm80.dll (必须) pbdwe80.dll (可选) pbmss80.dll (必须)

【java使用蓝奏云实现程序在线更新】

此处更新通过.dll后缀校验版本,下载.exe文件替换本地文件。

java_xy_的博客 837

基于wxWidgets框架,使用DialogBlocks建立OpenGL界面

前言 之前公司要求使用wxWidgets做GUI,基于OpenGL图形内核,开发三维可视化工具。目前初步开发工作基本已经完成,剩下都是完善了。这里记录一下最开始的框架搭建过程(当然是简化版啦)。wxWidgets结合OpenGL开发可以实现跨平台应用,再结合CMake和VS Code,整体开发工具用习惯了会感觉非常顺手。 界面编辑 首先,使用DialogBlocks新建一个工程,这里工程目录...

cyberobot的博客 2748

python C/S模式基础编程 (网络安全系列)

1. socket编程socket类型包括:——TCP socket 和 UDP socket。 常规的客户服务区模式。 ——Raw socket 可用于嗅探和注入 2. C/S模式  C/S (Client/Server,客户机/服务器)模式又称C/S结构,是20世纪80年代末逐步成长起来的一种模式,是软件系统体系结构的一种。C/S结构的关键在于功能的分布,一些功能放在前端机(即客户机)上执行,另

Jeanphorn的专栏 1万+

PyGPT:桌面AI助手整合大模型与本地知识库,打造高效工作流

大语言模型(LLM)通过理解和生成自然语言,正深刻改变人机交互方式。其核心原理是基于海量数据训练的Transformer架构,能够根据上下文进行预测和生成。这一技术价值在于将强大的AI能力平民化,广泛应用于代码生成、文档分析、创意写作和智能问答等场景。通过API调用云端模型或本地部署开源模型,开发者可以构建个性化的AI应用。本文聚焦于PyGPT这一桌面AI助手,它巧妙地将ChatGPT、Claude、Gemini等主流大模型与LlamaIndex、Ollama等本地化工具整合,实现了聊天、文件分析、代码解释

weixin_28679635的博客 435

VsCode安装和配置c/c++环境(超完整,小白专用)

1. vsCode配置C/C++环境 1. vsCode下载和安装 1. 下载Microsoft vsCode [vsCode在这里插入图片描述官网下载: https://code.visualstudio.com/ 2. 安装vsCode 3. 下载中文插件 我这边已经下载过,刚卸载但是没有重启编译器,所以界面显示了中文 2. MinGW编译器下载和配置 1. 下载MinGW 在线安装——下载MinGW-W64-install.exe(速度慢) 下载压缩包——×86_64-posix-

黄化的多多 60万+

python程序在线更新_Python 实现简单的C/S在线更新程序

使用urllib 直接下载html服务端 Respones把 安装包msi 的二进制流 输出,客户端判断下载下来的文件大小,一般很小 就有可能是404等信息,只需判断文件大小来决定是否运行更新程序即可如果为空则输出版本号,放到一个后台线程中运行 就OK了,只用更新服务端文件,客户端登录自动安装更新,部分代码class UpdateTimer(threading.Thread):Runing=Fal...

weixin_32771631的博客 883

关于发那科机器人抓手及物料搬运阀配置

4:确保抓手阀岛和输入模块配网连接正常,MENU—SETUP—MH Valves—Details,详细界面进入到左上图所示,根据每组阀分配夹钳数量并应用。3:设置搬运有效,抓手是否带点焊可以自行选择,要设置应用选择,物料搬用工具数量,工具上阀岛的数量,夹钳存在数量,工具存在数量,以及真空吸盘,冷启动。​2:MENU—应用选择,将搬运置为有效,剩余其他项根据机器人实际用途进行选择。5:设置夹钳数量,检查打开夹钳,检查闭合夹钳,延迟时间要给选择配置应用。

dxs93的博客 4772

python程序在线更新_Python 实现简单的C/S在线更新程序 | 学步园

使用urllib 直接下载html服务端 Respones把 安装包msi 的二进制流 输出,客户端判断下载下来的文件大小,一般很小 就有可能是404等信息,只需判断文件大小来决定是否运行更新程序即可如果为空则输出版本号,放到一个后台线程中运行 就OK了,只用更新服务端文件,客户端登录自动安装更新,部分代码class UpdateTimer(threading.Thread):Runing=Fal...

weixin_39978696的博客 180

保姆级教程:用Qlib和LightGBM从零搭建你的第一个AI量化选股策略(附完整代码)

本文提供了一份详细的教程,教你如何使用Qlib和LightGBM从零搭建AI量化选股策略。教程涵盖了环境配置、数据获取、特征工程、模型训练和策略回测等关键步骤,并附有完整代码和常见问题解决方案,适合量化投资初学者快速上手。

weixin_29191081的博客 443

MCP协议桥接AdsPower:AI原生时代的浏览器自动化新范式

浏览器自动化是Web开发和数据采集领域的核心技术,其核心原理是通过程序控制浏览器内核执行页面导航、元素交互和数据提取等操作。传统方案如Selenium和Playwright虽功能强大,但在管理多实例、指纹隔离等复杂场景下,配置和维护成本较高。随着AI原生应用的发展,Model Context Protocol(MCP)作为一种标准化协议,为AI助手与外部工具间的通信提供了统一接口,显著提升了自动化流程的构建效率和自然语言交互能力。通过MCP Server桥接AdsPower指纹浏览器的本地API,开发者可将

weixin_30552811的博客 295

pyinstaller打包的python exe程序实现自动更新

点击上方↑↑↑蓝字[协议分析与还原]关注我们近期在为一系列python工具exe程序加自动更新功能,方便管理维护及分发。近期沉迷于python的开发,积累了一系列python工具,需要部署到其它机器上,部署的过程都是拷贝,拷贝一次也就罢了,一碰到程序没写好,需要升级,就很麻烦了,得再拷贝一次,说不定还拷错了,烦死个人。于是决定做个能够匹配我工具升级需求的自动更新工具,每台待安装电脑的第一次手动安装...

协议分析与还原 2810

基于深度学习的图像修复系统,GAN图像修复,图像修复算法研究,并实现系统登录和注册,全网独发

近年来,深度学习已成为计算机视觉领域的研究热点,基于深度学习的图像修复技术弥补了传统修复方法长期存在的不足,显著提高了生成结果的质量。深度学习是指模仿人脑机制设计的具有深层结构的神经网络。深度学习作为一种表征学习,通过模仿人脑神经元之间的信息传递方式来学习输入数据的特征,并找到输入和输出数据之间的映射关系。通过在图像修复中应用深度学习技术,可以准确学习图像的语义信息,然后根据信息预测缺失的内容,大大克服了传统修复算法的不足,使结果更具逻辑性。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 8253

C/S与B/S架构深度解析:从核心原理到实战选型指南

客户端/服务器(C/S)和浏览器/服务器(B/S)架构是软件工程中两种基础且核心的系统设计模式。C/S架构基于专用客户端与服务器通过高效二进制协议(如gRPC)通信,强调本地计算、强状态管理和离线能力,适用于对性能与实时性要求极高的场景。B/S架构则以浏览器为统一客户端,基于HTTP/HTTPS等标准Web协议实现跨平台访问与无缝更新,降低了部署和维护成本。从技术价值看,C/S在复杂图形处理、高频交易等专业领域性能优势明显,而B/S在快速迭代、跨平台兼容和用户体验一致性方面更具优势。随着WebAssembl

weixin_34007886的博客 1689

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

python实现软件更新_c#教程之采用C#实现软件自动更新的方法

https://www.xin3721.com/eschool/本文实例分析了采用C#实现软件自动更新的方法,是非常实用的功能,值得学习和借鉴。具体如下:1.问题概述:长期以来,广大程序员为到底是使用Client/Server,还是使用Browser/Server结构争论不休,在这些争论当中,C/S结构的程序可 维护性差,布置困难,升级不方便,维护成本高就是一个相当重要的因素。有很多企业用户就是因...

weixin_39855869的博客 278

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【Python】Socket的简单应用

python socket实现客户端与服务器的通信

RexHa的博客 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

HaaS Python 2.1 版本更新上线 在线热更新+智能行为感知算法+更多开发板/API+精彩开发者活动 快来体验

HaaS Python 2.1 版本更新上线 在线热更新+智能行为感知算法+更多开发板/API+精彩开发者活动

HaaS技术社区的博客 2904

C/S与B/S架构深度解析:从原理到实战选型指南

在软件工程领域,客户端/服务器(C/S)和浏览器/服务器(B/S)是两种最基础且核心的软件架构模型。C/S架构通过预先安装的客户端应用分担计算,能充分利用本地资源,提供出色的交互体验和离线能力,常见于对性能和系统集成要求高的专业软件与游戏。B/S架构则以浏览器为统一入口,实现了零部署、跨平台和集中式管理,成为互联网应用的主流,其技术栈涵盖丰富的前端框架与后端服务。理解两者的工作原理、技术价值与适用场景,是进行技术选型、平衡用户体验与运维成本的关键。本文通过对比分析与实战场景,深入探讨了包括Electron、

weixin_34224941的博客 353
上一篇: MFC CInternetSession OpenUrl 下载文件 防止异常
下一篇: Django整合Extjs 配置路径(一)
xugangjava
博客等级 码龄16年 83粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值