工作快一年了,打算把前半年的东西复习下,并且生成blog保存。
转载请注明:http://blog.csdn.net/lengzijian/article/details/7688903
Ice是一种面向对象的中间件平台。从根本上说,这意味着ice为构建面向对象的客户-服务器应用提供了工具、API和库的支持。Ice应用是和在异种环境红使用:客户和服务器可以用不同的编程语言编写,可以运行在不同的操作系统而后及其架构上,并且可以使用多种网络技术进行通信。无论部署环境如何,这些应用的编码都是可移植的。
2.2为什么学习ice
在下周的任务中,主要完成个人中心的优化,而个人中心是基于ice架构的,为了能够弄清接口的调用机制和原理,打算深入了解下ice架构,但是发现学习能力有限,只能浅显的谈谈个人学习感受,希望在今后的日子里能够学习到更多关于ice的知识。
服务名
|
功能
|
IcePack
|
①
把配置器名解析为协议和地质队
②
注册服务器
③
简单的对象查找
|
IceBox
|
协调许多应用组件的启动和停止
|
IceStrom
|
一种发布-订阅系统
|
IcePatch
|
软件修补服务
|
Glacier
|
Ice防火墙,保障客-服之前安全通信
|
代码实现:
Hello.ice
|
#ifndef HELLO_ICE
#define HELLO_ICE
module Demo
{
interface Hello
{
idempotent void sayHello(int delay);
void shutdown();
};
};
#endif
|
服务端主要代码:
|
class HelloI(Demo.Hello): #定义接口方法的实现
def sayHello(self, delay, current=None):
if delay != 0:
time.sleep(delay / 1000.0)
print "Hello World!!!!"
def shutdown(self, current=None):
current.adapter.getCommunicator().shutdown()
class Server(Ice.Application):
def run(self, args):
if len(args) > 1:
print self.appName() + ": too many arguments"
return 1
adapter = self.communicator().createObjectAdapter("Hello")#创建对象适配器
adapter.add(HelloI(), self.communicator().stringToIdentity("hello"))#配置器的add方法加入一个新的servant
adapter.activate() #激活适配器
self.communicator().waitForShutdown()#挂起发出调用的线程,知道服务器实现终止为止
return 0
|
客户端主要代码
|
twoway=Demo.HelloPrx.checkedCast( self.communicator().propertyToProxy('Hello.Proxy').ice_twoway().ice_timeout(-1).ice_secure(False))#实现向下转换,询问服务器这是Hello接口代理吗?如果是返回hello代理,如果不是返回一个空代理
twoway.sayHello(delay)#调用sayHello方法
|
实现结果:
|
|
2.4php创建客户,python创建服务器应用
主要代码:
Php客户端主要代码:
|
$p = $ICE->stringToProxy("hello:tcp -p 10018:udp -p 10010");#创建一个代理
$hello = $p->ice_checkedCast('::Demo::Hello'); #实现向下转换,询问服务器这是Hello接口代理吗?如果是返回hello代理,如果不是返回一个空代理
$hello->sayHello($delay);#执行方法
|
结果展示:
|
|
分享到:
相关推荐
ICE学习资料ICE学习资料ICE学习资料ICE学习资料ICE学习资料ICE学习资料ICE学习资料ICE学习资料ICE学习资料
包含内容: ICE 3.4.2 源码; ICE touch; ICE 手册; ICE学习建议,如何来学习源码,先看那个后看那个可以达到事半功倍的效果。
里面有关于ice的教程以及ice中文版的手册,对ice的安装运行等都有很大的帮助,费尽了千辛万苦找来的资料。
教程包括: 第一部分 Ice综述 第二部分 核心概念 第三部分 高级Ice 第四部分 Ice服务 附录ice各种配置说明
ice demo是很好的学习ice的东西,ice是一个很好的分布式的网络通讯中间件,很好的支持跨平台等各种功能。 ice demo是很好的学习ice的东西,ice是一个很好的分布式的网络通讯中间件,很好的支持跨平台等各种功能。 ...
中文教程、微服务架构入门、权威指南、应用配置手册、快速入门、3.7.0源码资源
ICE的学习比较曲线比较短,很容易上手.只要你熟悉某一种 语言(例如C++或JAVA),了解了ICE编程范式之后,很快就能 开发出实际的应用. • 提供一种在网络带宽、内存使用和CPU 开销方面都很高效的实现。 • 提供一种具有内...
很不错的Ice框架学习资料,Ice综述,核心,高级,服务及实例
ice和java socket性能测试的源码。
ICE入门学习的最佳资料,英文原版以及中文翻译版都有。
Ice-3.3.1 编译依赖第三方软件,安装Ice-3.3.1中间件必下载。
matlab ice.fig 函数源代码
Iceberg技术学习资料
Ice 是一种面向对象的中间件平台。从根本上说,这意味着Ice 为构建面 向对象的客户-服务器应用提供了工具、API 和库支持。Ice 应用适合在异 种环境中使用:客户和服务器可以用不同的编程语言编写,可以运行在不 同...
在编译和Ice应用相关的文件中,经常因为ice相关的文件包含关系而导致编译无法通过,此时的错误一般提示和handle.h相关。然而想要解决这样的错误,一般只需要把在无法编译成.o文件的.cpp文件中和ice文件相关的头文件...
ICE中文文档 十分清晰 学习ICE的必备手册 不包含gird部分
冈萨雷斯数字图像处理matlab版源码ice源码
ICE最新版官方的学些资料,因为中文基本没有,一起啃吧
, 与很多技术类书籍不同的是,《ZeroC Ice权威指南》不是简单地罗列知识点和简单代码,而是在指导学习的过程中,不断抛出一些高质量代码,如客户端封装、服务端框架、服务调用拦截监控等可立即应用于生产的代码,...
Ice为主流平台设计,包括Windows和Linux,支持广泛的语 言,包括C++,Java,C#(和其他.Net的语言,例如Visual Basic),Python,Ruby,PHP和ActionScript。也包括所有的ICE服务,例如Ice Grid,IceStorm等。