ICE作为文件传输的方法

原创 2006年05月21日 16:53:00
ICE作为文件传输的方法
杨友江
2005年6月
【摘要】
许多客户端/服务器软件都需要在服务器和客户端之间传输文件,有许多方法可以用来传输文件,如ftp,文件共享,但是都有各自的缺点。本文描述一种使用ICEIcePatch2服务来作为文件传输的方法,该方法特别适用于使用ICE作为开发平台的软件的文件传输。
【关键词】
ICE IcePatch2 文件传输
一、问题的提出
许多客户端/服务器软件都需要在服务器和客户端之间传输文件,有许多方法可以用来传输文件,如ftp,文件共享,但是都有各自的缺点。ftp需要安装ftp的服务器,还需要通过一个客户端来取得文件。文件共享的安全性又不好。本文描述一种使用ICEIcePatch2服务来作为文件传输的方法,该方法特别适用于使用ICE作为中间件的软件的文件传输,如果再使用ICEGracier服务还可以做到对权限的有效控制。
二、解决思路
ICE提供了一种打补丁的方法,通过一个IcePatch2的服务来提供。IcePatch 是一种软件修补服务。 你可以用它来轻松地把软件更新分发给客户。客户可以简单地连接到IcePatch,请求获得特定应用的更新。这个服务会自动检查客户的软件的版本,并以一种压缩形式下载任何更新过的应用组件,从而节省带宽。传输速度可以和ftp差不多。
 
打补丁实际上也就是文件的传输,可以通过该法来在服务器和客户端作文件传输。
三、实践情况
和我们开发的软件的服务器和客户端不同,文件源所在的计算机需要作为IcePatch2服务器,而文件目的地的计算机需要作为IcePatch2客户端。如果文件需要双向传输就可以两边都有服务器和客户端。该方法把所有文件都放到一个目录下,如果只需要传输一个文件可以单独建一个目录。
 
服务器端:
在需要传输文件所在的目录首先运行
icepath2calc .
该操作用于将文件所在的目录下将所有非控文件压缩,并生成校验码,这样既可以保证传输速度又可以保证可靠传输。
然后可以运行
icepatch2server --IcePatch2.Endpoints=”tcp –h 10.61.36.8 –p 10032” .
tcp表示使用TCP/IP协议;–h 10.61.36.8是本机的IP地址;–p 10032表示使用10032端口;.表示本级目录。等到客户端文件传输完成之后可以结束该进程。
 
IcePatch2客户端
直接运行icepatch2client –t --IcePatch2.Endpoints=”tcp –h 10.61.36.8 –p 10032”
-t表示完全打补丁。
四、效果评价
该方法可以在服务器和客户端作有效的文件传输。
五、推广建议
该方法特别适用于使用ICE作为平台的软件的文件传输。其他场合通过安装ICE也可以使用
参考资料
Michi Henning Mark Spruiell Distributed Programming with Ice
Michi Henning等著 马维达 译 ICE分布式程序设计
 

ICE流传输

ICE流传输 1、 使用ICE流传输 ICE会话如下: 步骤一:初始化pj_ice_stans_cfg结构。 步骤二:通过pj_ice_strans_create()函数创建ice实例;该函数主要需要...
  • u012498660
  • u012498660
  • 2015年10月29日 16:31
  • 866

关于ICE传输文件大小的限制跟踪

一、问题背景项目遇到升级包上传过程中,出现文件上传失败的问题,这里本地通过测试,查找是否存在文件上限导致失败的问题。二、问题跟踪1.经测试,当上传文件小于等于1048516字节时(约0.9999M)时...
  • ForeverSunshine
  • ForeverSunshine
  • 2017年11月20日 17:03
  • 437

ICE参数传递分析

ICE参数传递分析       ICE由于涉及到不同进程甚至不同主机间的调用,所以需要对参数做些处理,下面以ICE自带的例子printer,并为他加入几个类型和函数进行分析。        ICE为每...
  • rockieyung
  • rockieyung
  • 2006年05月21日 16:52
  • 1895

ICE Chat Demo 实例分析

ICE Chat Demo 实例分析图
  • Colorado
  • Colorado
  • 2011年01月05日 20:02
  • 6072

ICE学习(八)-异步方法调用AMI

Asynchronous Method Invocation (AMI)是客户端的异步编程模型。和同步请求不同,AMI不会堵塞他所在的线程。对于服务器端来说,同步和异步请求是没有什么区别的。 基本...
  • kaede999
  • kaede999
  • 2015年10月23日 17:04
  • 1167

RPC之ICE java简单使用

之前使用rpc都是webservice、hessian、dubbo之类,现在公司里使用ICE,以前都没有怎么听过的,自己花一些时间学习下ice,并写一个demo,java里基础的数据类型传输都没太大问...
  • yanshichuan1
  • yanshichuan1
  • 2016年11月27日 13:50
  • 1316

ICE - 企业使用的工具

ICE zeroc ice,简称ice,是指ZeroC公司的ICE(Internet Communications Engine)中间件平台。对于客户端和服务端程序的开发提供了很大的便利。 外文...
  • Pan_cras
  • Pan_cras
  • 2016年08月04日 15:34
  • 331

Ice 主从注册中心registry配置

1  配置主注册中心:(一台机器192.168.11.240)    sudo vi /etc/ice/registry_master.config    配置内容:     IceGrid.I...
  • lsb2002
  • lsb2002
  • 2017年01月13日 17:58
  • 244

ICE 学习进阶4-配置属性

Ice Config
  • bruce_wang_janet
  • bruce_wang_janet
  • 2011年05月22日 08:38
  • 3309

ICE的日志和统计接口

1、获取日志对象:    virtual LoggerPtr getLogger() const; 2、日志对象提供的方法:    local interface Logger    {  ...
  • followshake
  • followshake
  • 2012年03月30日 22:12
  • 2523
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ICE作为文件传输的方法
举报原因:
原因补充:

(最多只允许输入30个字)