`
rcfalcon
  • 浏览: 222271 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一个基于socket的资源共享平台的实现(四)

 
阅读更多

现在我们的整个系统基本可用了,还缺少什么?

—— 客户端自动升级。

当我们把整个系统部署下去之后,如果打补丁、升级版本等,都需要让用户重新下载的话,肯定用户会觉得很厌烦。

所以我们应该要开发一个loader,客户端能够自动检测更新、升级,并可以在服务器端打包升级流及升级流信息下发。

在此系统中,我直接是服务器下发一条升级信息(带版本号),然后与客户端当前版本号进行配对,若高于客户端,则开始客户端更新升级。

这里由于我们的客户端很小,所以我直接将客户端exe通过TCP传输下来。客户端接收完毕之后,自我关闭,换成更新过的exe启动。

这里有个小伎俩,一个exe程序如何升级自身?

当时我上网找了许多,都觉得太麻烦,于是自己想了一个“歪门邪道”,不过真的很好用,这里跟大家分享一下。

假设我们正在运行的客户端程序叫做 1.exe,我们通过TCP拿到的升级后的程序叫做 2.exe。

我们此时需要在1.exe中将自身结束,将2.exe改名成1.exe并且启动它。问题就出在这一步,既然已经把自己都结束了,如何去讲2.exe改名和启动呢?

——通过bat。

我们在1.exe运行过程中动态创建一个批处理文件,其干以下事情:

start:

若存在1.exe ,删除之,若删除不了,返回start;

将2.exe改名为1.exe;

启动1.exe;

将自己删掉;

注意最后在1.exe中我们需要异步启动bat(很显然,不然死循环了),这样就可以实现我们所说的功能啦。

部分代码如下:

最后看看我们的丑陋的MFC下的界面

分享到:
评论

相关推荐

    用基于Socket做的类似资源管理器的文件共享

    程序既是服务器又是客户端,只要双方都打开这这个程序即可实现文件相互共享,上传或下载都会显示进度,操作跟操作Windows资源管理器一样非常熟悉非常方便。代码很精辟供有兴趣者学习与使用。

    基于Python实现洪泛技术的一个资源共享系统.zip

    资源包含文件:设计报告word+使用说明+源码 1.开发环境 Python 3.6 2.主要使用的模块: socket, sys, os, threading 3.开发工具 Pycharm main.py 是程序的入口文件,文件中定义了 main 函数,主要用于进行对线程的...

    论文研究-基于P2P混合模式的网络即时通讯与资源共享软件研究与实现 .pdf

    基于P2P混合模式的网络即时通讯与资源共享软件研究与实现,余华平,白辉万,P2P混合模式能有效平衡网络服务器端和客户端的负载,提升软件系统的整体性能。文章首先分析了TCP/IP协议、Socket套接字在Windows中的实�...

    项目使用Socket.IO-Client-Swift 绑定后台node服务器实现实时聊天功能.zip

    仿映客直播app(最新)原版礼物...云计算与大数据:包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。

    聊天程序与资源共享

    基于socket udp的局域网内群聊程序,实现了基于网内资源发布与共享,文件传输(小文件)C语言写的基于win32开发适合初学者全方位了解网络编程

    基于请求流的文件共享系统java源码(计算机网络大作业).zip

    每一个peer能够通过请求流的方法搜索自己需要的资源 每一个peer从第一个响应的peer那里通过C/S的模式下载该文件 【实现方案】 因为没有公网IP,做不了NAT穿透,所以实现局域网下的分享 每一个peer指定一个文件夹作为...

    基于java的网络白板+聊天室+教育白板6个白板集合

    基于java的网络白板+聊天室+教育白板6个白板集合,资源丰富:多用户之间的信息共享,绘图区绘图共享,可以聊天并且发表情;用Java编写界面,用seversocket创建服务端,socket创建客户端,实现简单图形绘画和一对多...

    基于C++的局域网的文件传输系统的设计与实现毕业设计(论文)

    机的资源共享,需要开发一个基于局域网的文件传输工具,在内部网络中实现文 件交换。 本文件传输系统的设计选用 VC++6.0 为开发工具,以 C/S 模式通过建立 Socket 连接后实现局域网快速,准确,安全的点对点文件传输...

    计算机网络大作业-基于请求流的文件共享系统java源码+项目说明文档.zip

    3. 每一个peer能够通过请求流的方法搜索自己需要的资源 4. 每一个peer从第一个响应的peer那里通过C/S的模式下载该文件 # 解题思路 因为没有公网IP,做不了NAT穿透,所以实现局域网下的分享 1. 每一个peer指定一个...

    毕业设计&课程设计-基于的STM32实现的。.zip

    曾经本科做的一个硬件参赛项目,基于的STM32实现的。然后想着加一个页面,用于显示在手机端,或者web端,就使用QT做一个页面,用来测试socket连接。 单片机设计,工具源码,适合毕业设计、课程设计作业,所有源码均...

    使用Java实现基于请求流的文件共享系统【100012046】

    基于请求流的文件分享 1. 使用 socket 进行编程 2. 每一个 peer 能够分享一个指定...3. 每一个 peer 能够通过请求流的方法搜索自己需要的资源 4. 每一个 peer 从第一个响应的 peer 那里通过 C/S 的模式下载该文件

    基于WinPcap的网络扫描以及端口扫描流量统计毕业设计

    3.4基于SOCKET程序扫描的实现 20 4. 总结 21 5.参考文献 22 6.附录 23 收到此文件后,请按如下步骤安装 1.安装支持vc6的最新sdk(可选,可跳过,如果不能编译的话可补上步骤1) 2.按WinPcap的配置以及安装...

    LInux 平台下物联网网关(多线程实现),嵌入式项目

    其中一个子线程负责Socket收发功能,将数据发送到远程服务器或其他设备。另一个子线程负责处理Sqlite数据库的读写操作,用于存储和检索设备数据。还有一个子线程用于处理Uart通信,与其他设备进行串口通信。此外,还...

    Java毕业设计-JAVA基于局域网的聊天室系统(源代码+论文).rar

    本资源提供了一套完整的基于Java实现的局域网聊天室系统。该系统采用Socket编程技术,实现了在特定局域网范围内的高效通信。系统包括服务器端和客户端两部分,支持多人同时在线聊天,并具备基本的文本消息发送、接收...

    短信开发接口 企业短信开发平台 短信数据库接口

    功能2:基于本短信数据库二次开发平台,可使同一网络(局域网或广域网)内众多客户端,共享一个短信数据库接口进行短信收发,短信开发接口具备对客户端的管理功能。 企事业单位通过短信服务器方式实现短信功能,既...

    即时通讯工具分析与实现

    随着信息技术的发展,人们广泛利用Internet网络来进行信息交流、资源共享的方式越来越多。常用的交流方式就是通过即时通讯工具来进行交流。本设计是根据目前即时通讯软件的特点,对其进行分析并实现了其主要功能:...

    基于Visual C++6.0的点对点文件传输实现毕业设计论文

    传统的大文件传输通常在客户端建立一个较大的 Buffer 缓冲区,这样不仅会大量占用系统资源,而且传输的速度十分缓慢,不能实时地显示传输进度。由于传输的时间比较长,期间发生中断或计算机重启等意外的可能性非常高...

    使用OpenCV与C++ Socket实现的人脸识别系统服务器.zip

    软件开发设计:应用软件开发、系统...云计算与大数据:包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备

    WinRT 环境下缺失 Windows API 模拟实现

    WinRT 环境下很多API没有了,比如socket相关的WSASocket,WSAConnect,线程相关的CreateThread等等,导致很多库不能使用,...现在将该方案的相关资源共享给大家,不提供源码,如果需要了解实现细节,请关注我的博客。

    OIM是采用 Java平台开发的一套即时通讯聊天系统.zip

    OIM是采用 Java平台开发的...云计算与大数据:数据集、包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。

Global site tag (gtag.js) - Google Analytics