• 大小: 14KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-17
  • 语言: 其他
  • 标签: java  swing  

资源简介

前段时间做了一个工具发布给公司的各部门使用后反馈了不少BUG,每次修改后均需要发邮件通知各用户替换最新版本,很不方便,因此后来就写了一个自动升级的功能,这样每次发布新的版本时只需要将其部署到自动升级服务器上,工具使用用户运行工具时就会连接到自动升级服务器,检查是否有版本更新,如果有则完成更新后再运行最新版本,否则就运行当前工具版本。 为了使这个自动升级模块具有通用性,我将其做成可以单独运行的程序,而并非集成到工具中,这样则可以为各类软件提供自动升级的功能。自动升级模块采用SOCKET方式实现升级客户端与服务端的交互,通过版本控制文件autoupdate.xml来控制版本的更新,完成自动更新后会将历史清单history.htm也发送给客户端,并自动打开该文件,使用户可以对本次升级的具体内容一目了然。

资源截图

代码片段和文件信息

/** *//********************************************************************
   * 项目名称                :rochoc


   * 包名称                  :com.rochoc.autoupdate


   * 文件名称                :AutoUpdProtocol.java


   * 编写者                 :kfzx-luoc


   * 编写日期                :2008-12-22


   * 程序功能(类)描述    :


   * 定义自动升级客户端与服务端的通讯协议
   * 程序变更日期            :
  * 变更作者                :
  * 变更说明                :
 ********************************************************************/
 package com.rochoc.autoupdate;
 
 /** *//**
  * @author kfzx-luoc
  *
  * TODO To change the template for this generated type comment go to
  * Window - Preferences - Java - Code style - Code Templates
  */
 public class AUPD
 {
     /** *//**
      * 无意义操作
      */
     public static final String NONE = “NONE    “;
     
     /** *//**
      * 发送客户端版本信息
      */
     public static final String SEND_CLIENT_VERSION = “SENDCVER“;
     
     /** *//**
      * 接收客户端版本信息
      */
     public static final String RECEIVED_CLIENT_VERSION = “RECDCVER“;
     
     /** *//**
      * 发送文件全路径
      */
     public static final String SEND_FILE_ABSOULT = “SENDFILE“;
     
     /** *//**
      * 接收文件全路径
      */
     public static final String RECEIVED_FILE_ABSOULT = “RECDFILE“;
     
     /** *//**
      * 开始文件传输
      */
     public static final String START_TRANSMIT = “STARTTSM“;
     
     /** *//**
      * 结束文件传输
      */
     public static final String TERMINATE_TRANSMIT = “TERMTSMT“;
     
     /** *//**
      * 更新失败
      */
     public static final String UPDATED_FAILURE = “UPDEFAIL“;
     
     /** *//**
      * 更新成功
      */
     public static final String UPDATED_SUCCESSFUL = “UPDESUCC“;
    
     /** *//**
      * 无需更新
      */
     public static final String NOTNEED_UPDATED = “NNEEDUPD“;
     
     /** *//**
      * 已经准备好接收更新文件
      */
     public static final String READY_TO_UPDATE = “READYTUP“;
     
     /** *//**
      * 结束链接
      */
     public static final String BYE = “BYEBYEOK“;
     
     /** *//**
      * 数据区OFFSET
      */
     public static final int DATA_OFFSET = 5;    
 
     /** *//**
      * 文件数据块大小
      */
     public static final int DATA_SIZE = 1024;
 
     /** *//**
      * 发送缓冲区大小
      */
     public static final int BUFFER_SIZE = DATA_SIZE + 1 + 4; // [0]位是标志位,区分数据和命令 + 4位长度
 
     /** *//**
      * 数据段标识
     */
    public static final int MARK_DATA_SECT = 0;
    /** *//**
     * 命令段标识
     */
    public static final int CMD_DATA_SECT = 1;

    /** *//**
     * 数据段结束标识
     */
    public static final int MARK_DATA_END = 127;
}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1509  2009-01-11 14:10  history.htm
     文件        2882  2009-01-11 14:14  AUPD.java
     文件        3374  2009-01-11 14:19  AutoUpdateServer.java
     文件       15726  2009-01-11 14:32  AUpdSrvProc.java
     文件        2688  2009-01-11 14:31  ClientVerParser.java
     文件       15101  2009-01-11 14:52  AutoUpdateClient.java
     文件        5588  2009-01-11 14:37  Config.java
     文件        2634  2009-01-11 14:50  UpdFile.java
     文件        1067  2009-01-11 14:04  autoupdate.xml

评论

共有 条评论