- 浏览: 337644 次
- 性别:
- 来自: 北京
最新评论
-
hoey168:
请问楼主,ICE 客户端连接多个服务端,tcp -h 172. ...
ZeroC ICE之旅------负载均衡及容错 -
iOracleSun:
makeC++SharedLib 增加 -G参数即可链接成功 ...
AIX apache module问题 -
fanyonglu:
不错,讲的很细,学习中
ZeroC ICE之旅------java -
click_guobin:
...
我在深圳,每月收入850元,怎么也花不完,晒一晒我是怎么开销和投资的(zz) -
hanyu332:
引用修改%apache%/conf/httpd.conf修改为 ...
awstats日志分析小结(1)
关于Ice请见,
ICE之轻量级分布式通讯中间件
http://masterkey.iteye.com/blog/182954
ZeroC ICE之旅------C++
http://masterkey.iteye.com/blog/183307
ZeroC ICE之旅------Slice
http://masterkey.iteye.com/blog/184064
ZeroC ICE之旅------多语言互通互联
http://masterkey.iteye.com/blog/183742
ZeroC ICE之旅------集群和容错
http://masterkey.iteye.com/blog/185081
更多ICE文章,请关注:
Titan的天空
http://masterkey.iteye.com
工欲善其事,必先利其器,我们首先从www.zero.com,下载最新安装包;
btw:
目前最新的v3.3
http://www.zeroc.com/download_beta.html
最新稳定版本:
http://www.zeroc.com/download.html
由于我自己的平台是CentOS release 4.4 (Final),java version "1.6.0_01"
所以下载的是:
http://www.zeroc.com/download/Ice/3.3/Ice-3.3b-rhel4-i386-rpm.tar.gz
解开之后:
-rw-r--r-- 1 506 users 1130231 4月 1 10:39 db46-4.6.21-2ice.rhel4.i386.rpm
-rw-r--r-- 1 506 users 51459 4月 1 10:39 db46-devel-4.6.21-2ice.rhel4.i386.rpm
-rw-r--r-- 1 506 users 810562 4月 1 10:40 db46-java-4.6.21-2ice.rhel4.i386.rpm
-rw-r--r-- 1 506 users 72125 4月 1 10:40 db46-utils-4.6.21-2ice.rhel4.i386.rpm
-rw-r--r-- 1 506 users 84281 4月 1 10:15 ice-3.3b-1.rhel4.noarch.rpm
-rw-r--r-- 1 506 users 450359 4月 1 10:15 ice-c++-devel-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 2823701 4月 1 10:16 ice-java-3.3b-1.rhel4.noarch.rpm
-rw-r--r-- 1 506 users 263085 4月 1 10:16 ice-java-devel-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 3439061 4月 1 10:17 ice-libs-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 162092 4月 1 10:19 ice-php-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 739055 4月 1 10:19 ice-python-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 32913 4月 1 10:19 ice-python-devel-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 223577 4月 1 10:19 ice-ruby-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 21406 4月 1 10:19 ice-ruby-devel-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 3657167 4月 1 10:20 ice-servers-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 4350193 4月 1 10:24 ice-utils-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 74856 4月 1 10:40 mcpp-devel-2.6.4-1ice.rhel4.i386.rpm
由于需要c和java的包:
所以我们仅安装:
rmp -ivh ice-3.3b-1.rhel4.noarch.rpm
rmp -ivh ice-3.3b-1.rhel4.noarch.rpm
rpm -ivh ice-3.3b-1.rhel4.noarch.rpm
rpm -ivh ice-libs-3.3b-1.rhel4.i386.rpm
rpm -ivh ice-utils-3.3b-1.rhel4.i386.rpm
rpm -ivh mcpp-devel-2.6.4-1ice.rhel4.i386.rpm
rpm -ivh ice-servers-3.3b-1.rhel4.i386.rpm
rpm -ivh ice-libs-3.3b-1.rhel4.i386.rpm
rpm -ivh ice-c++-devel-3.3b-1.rhel4.i386.rpm
rpm -ivh ice-java-3.3b-1.rhel4.noarch.rpm
rpm -ivh ice-java-devel-3.3b-1.rhel4.i386.rpm
安装之后的Ice相关路径:
slice2cpp,slice2java在/usr/bin/下
Ice.jar 存储于 /usr/share/java/下
相关的Ice的库存储于/usr/lib下.
一切就绪,我们开始Ice之旅的Slice地带:
首先,我们建立一个demo.ice的文件:
注意,后两个"}"一定要包含";",否则slice2java就会过不去,赫赫
执行:
slice2java demo.ice
会在当前目录产生一个Demo目录,目录下自动生成:
-rw-r--r-- 1 root root 2316 4月 15 17:01 _testDelD.java
-rw-r--r-- 1 root root 560 4月 15 17:01 _testDel.java
-rw-r--r-- 1 root root 1929 4月 15 17:01 _testDelM.java
-rw-r--r-- 1 root root 4177 4月 15 17:01 _testDisp.java
-rw-r--r-- 1 root root 1070 4月 15 17:01 testHolder.java
-rw-r--r-- 1 root root 488 4月 15 17:01 test.java
-rw-r--r-- 1 root root 481 4月 15 17:01 _testOperations.java
-rw-r--r-- 1 root root 460 4月 15 17:01 _testOperationsNC.java
-rw-r--r-- 1 root root 5418 4月 15 17:01 testPrxHelper.java
-rw-r--r-- 1 root root 569 4月 15 17:01 testPrxHolder.java
-rw-r--r-- 1 root root 567 4月 15 17:01 testPrx.java
到目前为止,demo.ice所以Ice接口部分的定义以及相关依赖都已经自动生成.
我们要实现自己的execute方法,覆盖testPrx.java的同名方法:
之后,我们建立一个Server服务在10000端口进行侦听。
貌似很复杂,其实里面的很多内容都是固定格式,有些部分需要固定和约定。其中上述红色部分是修改部分。
到目前为止,我们已经完成了大部分工作,我们还需要建一个客户端来对服务端的方法进行调用。
也貌似很复杂吧,其实不然,也很简单,同样包含很多固定格式。其中
是我们自己调用的逻辑。
赫赫,大功告成了,现在我们开始运行Server,再运行Client看到了么?
"My first Ice demo"
得到这样的结果,基本Ice之旅的Java部分简单实例我们基本完成。
Ice的性能和稳定性远超于我们的想象,skype知道么?其部分通讯架构就是采用的Ice.
关于你说的协议问题,在我看来,http协议是个"不完全的协议",因为http协议只定义了协议头的格式:
HTTP1.1 200 OK Content-Type 正文
对于正文是什么格式,没有规定,这也是很多例如SOAP/HTTP,REST/HTTP这样的协议,在使用http头的基础上,对Content-Type和正文格式加以二次定义成的新协议.而HTTP协议终究是应用层协议,不与传输层协议相冲突.如果
ICE只定义在传输协议udp,tcp之上,而对应用协议没有定义,那么在传输过程中就只能保证单一的语意了,传输原始流文件.也就是说如果你想给服务器传输一个文件,并指明这个文件存储在"张三"的目录下,那么如何识别"张三"和文件流在传输流中的位置,归根还是需要http这一级别的应用协议来组织数据.
ICE之轻量级分布式通讯中间件
http://masterkey.iteye.com/blog/182954
ZeroC ICE之旅------C++
http://masterkey.iteye.com/blog/183307
ZeroC ICE之旅------Slice
http://masterkey.iteye.com/blog/184064
ZeroC ICE之旅------多语言互通互联
http://masterkey.iteye.com/blog/183742
ZeroC ICE之旅------集群和容错
http://masterkey.iteye.com/blog/185081
更多ICE文章,请关注:
Titan的天空
http://masterkey.iteye.com
工欲善其事,必先利其器,我们首先从www.zero.com,下载最新安装包;
btw:
目前最新的v3.3
http://www.zeroc.com/download_beta.html
最新稳定版本:
http://www.zeroc.com/download.html
由于我自己的平台是CentOS release 4.4 (Final),java version "1.6.0_01"
所以下载的是:
http://www.zeroc.com/download/Ice/3.3/Ice-3.3b-rhel4-i386-rpm.tar.gz
解开之后:
-rw-r--r-- 1 506 users 1130231 4月 1 10:39 db46-4.6.21-2ice.rhel4.i386.rpm
-rw-r--r-- 1 506 users 51459 4月 1 10:39 db46-devel-4.6.21-2ice.rhel4.i386.rpm
-rw-r--r-- 1 506 users 810562 4月 1 10:40 db46-java-4.6.21-2ice.rhel4.i386.rpm
-rw-r--r-- 1 506 users 72125 4月 1 10:40 db46-utils-4.6.21-2ice.rhel4.i386.rpm
-rw-r--r-- 1 506 users 84281 4月 1 10:15 ice-3.3b-1.rhel4.noarch.rpm
-rw-r--r-- 1 506 users 450359 4月 1 10:15 ice-c++-devel-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 2823701 4月 1 10:16 ice-java-3.3b-1.rhel4.noarch.rpm
-rw-r--r-- 1 506 users 263085 4月 1 10:16 ice-java-devel-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 3439061 4月 1 10:17 ice-libs-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 162092 4月 1 10:19 ice-php-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 739055 4月 1 10:19 ice-python-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 32913 4月 1 10:19 ice-python-devel-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 223577 4月 1 10:19 ice-ruby-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 21406 4月 1 10:19 ice-ruby-devel-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 3657167 4月 1 10:20 ice-servers-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 4350193 4月 1 10:24 ice-utils-3.3b-1.rhel4.i386.rpm
-rw-r--r-- 1 506 users 74856 4月 1 10:40 mcpp-devel-2.6.4-1ice.rhel4.i386.rpm
由于需要c和java的包:
所以我们仅安装:
rmp -ivh ice-3.3b-1.rhel4.noarch.rpm
rmp -ivh ice-3.3b-1.rhel4.noarch.rpm
rpm -ivh ice-3.3b-1.rhel4.noarch.rpm
rpm -ivh ice-libs-3.3b-1.rhel4.i386.rpm
rpm -ivh ice-utils-3.3b-1.rhel4.i386.rpm
rpm -ivh mcpp-devel-2.6.4-1ice.rhel4.i386.rpm
rpm -ivh ice-servers-3.3b-1.rhel4.i386.rpm
rpm -ivh ice-libs-3.3b-1.rhel4.i386.rpm
rpm -ivh ice-c++-devel-3.3b-1.rhel4.i386.rpm
rpm -ivh ice-java-3.3b-1.rhel4.noarch.rpm
rpm -ivh ice-java-devel-3.3b-1.rhel4.i386.rpm
安装之后的Ice相关路径:
slice2cpp,slice2java在/usr/bin/下
Ice.jar 存储于 /usr/share/java/下
相关的Ice的库存储于/usr/lib下.
一切就绪,我们开始Ice之旅的Slice地带:
首先,我们建立一个demo.ice的文件:
module Demo{ interface test{ string execute(string mth,string cmd); }; };
注意,后两个"}"一定要包含";",否则slice2java就会过不去,赫赫
执行:
slice2java demo.ice
会在当前目录产生一个Demo目录,目录下自动生成:
-rw-r--r-- 1 root root 2316 4月 15 17:01 _testDelD.java
-rw-r--r-- 1 root root 560 4月 15 17:01 _testDel.java
-rw-r--r-- 1 root root 1929 4月 15 17:01 _testDelM.java
-rw-r--r-- 1 root root 4177 4月 15 17:01 _testDisp.java
-rw-r--r-- 1 root root 1070 4月 15 17:01 testHolder.java
-rw-r--r-- 1 root root 488 4月 15 17:01 test.java
-rw-r--r-- 1 root root 481 4月 15 17:01 _testOperations.java
-rw-r--r-- 1 root root 460 4月 15 17:01 _testOperationsNC.java
-rw-r--r-- 1 root root 5418 4月 15 17:01 testPrxHelper.java
-rw-r--r-- 1 root root 569 4月 15 17:01 testPrxHolder.java
-rw-r--r-- 1 root root 567 4月 15 17:01 testPrx.java
到目前为止,demo.ice所以Ice接口部分的定义以及相关依赖都已经自动生成.
我们要实现自己的execute方法,覆盖testPrx.java的同名方法:
//TestImp.java package Demo; import Ice.Current; public class TestImp extends _testDisp{ public String execute(String mth, String cmd, Current __current) { // TODO Auto-generated method stub return mth+cmd; } }看到了,就是这么简单,仅仅覆盖_testDisp里面的抽象方法,实现把我们自己的实现代码填充到里面就行了.
之后,我们建立一个Server服务在10000端口进行侦听。
//Server.java package Demo; public class Server { public static void main(String[] args) { int status = 0; Ice.Communicator ic = null; try { ic = Ice.Util.initialize(args); Ice.ObjectAdapter adapter = ic.createObjectAdapterWithEndpoints( "TestAdapter", "default -p 10000"); Ice.Object object = new TestImp(); adapter.add(object, ic.stringToIdentity("TestAdapter")); adapter.activate(); ic.waitForShutdown(); } catch (Ice.LocalException e) { e.printStackTrace(); status = 1; } catch (Exception e) { System.err.println(e.getMessage()); status = 1; } if (ic != null) { // Clean up // try { ic.destroy(); } catch (Exception e) { System.err.println(e.getMessage()); status = 1; } } System.exit(status); } }
貌似很复杂,其实里面的很多内容都是固定格式,有些部分需要固定和约定。其中上述红色部分是修改部分。
到目前为止,我们已经完成了大部分工作,我们还需要建一个客户端来对服务端的方法进行调用。
package Demo; public class Client { public static void main(String[] args) { int status = 0; Ice.Communicator ic = null; try { ic = Ice.Util.initialize(args); // Ice.ObjectPrx base = ic // .stringToProxy("SimplePrinter:tcp -h 172.17.12.101 -p 10000"); Ice.ObjectPrx base = ic .stringToProxy("TestAdapter:default -p 10000"); testPrx test = testPrxHelper.checkedCast(base); if (test == null) throw new Error("Invalid proxy"); System.out.println(test.execute("My first Ice ", "demo")); //System.out.println("ok"); } catch (Ice.LocalException e) { e.printStackTrace(); status = 1; } catch (Exception e) { System.err.println(e.getMessage()); status = 1; } if (ic != null) { // Clean up // try { ic.destroy(); } catch (Exception e) { System.err.println(e.getMessage()); status = 1; } } System.exit(status); } }
也貌似很复杂吧,其实不然,也很简单,同样包含很多固定格式。其中
System.out.println(test.execute("my first Ice ", "demo"));
是我们自己调用的逻辑。
赫赫,大功告成了,现在我们开始运行Server,再运行Client看到了么?
"My first Ice demo"
得到这样的结果,基本Ice之旅的Java部分简单实例我们基本完成。
Ice的性能和稳定性远超于我们的想象,skype知道么?其部分通讯架构就是采用的Ice.
评论
21 楼
fanyonglu
2011-12-07
不错,讲的很细,学习中
20 楼
unsid
2009-03-17
titanfoot 写道
HESSIAN , PHPRPC是基于HTTP协议之上的。
ICE 是基于TCP/UDP协议的。
如果HESSIAN , PHPRPC看做是拖拉机引擎的话。
那么ICE就是飞机引擎。
性能和效率不是一个数量级的。
ICE 是基于TCP/UDP协议的。
如果HESSIAN , PHPRPC看做是拖拉机引擎的话。
那么ICE就是飞机引擎。
性能和效率不是一个数量级的。
关于你说的协议问题,在我看来,http协议是个"不完全的协议",因为http协议只定义了协议头的格式:
HTTP1.1 200 OK Content-Type 正文
对于正文是什么格式,没有规定,这也是很多例如SOAP/HTTP,REST/HTTP这样的协议,在使用http头的基础上,对Content-Type和正文格式加以二次定义成的新协议.而HTTP协议终究是应用层协议,不与传输层协议相冲突.如果
ICE只定义在传输协议udp,tcp之上,而对应用协议没有定义,那么在传输过程中就只能保证单一的语意了,传输原始流文件.也就是说如果你想给服务器传输一个文件,并指明这个文件存储在"张三"的目录下,那么如何识别"张三"和文件流在传输流中的位置,归根还是需要http这一级别的应用协议来组织数据.
19 楼
titanfoot
2009-03-17
HESSIAN , PHPRPC是基于HTTP协议之上的。
ICE 是基于TCP/UDP协议的。
如果HESSIAN , PHPRPC看做是拖拉机引擎的话。
那么ICE就是飞机引擎。
性能和效率不是一个数量级的。
ICE 是基于TCP/UDP协议的。
如果HESSIAN , PHPRPC看做是拖拉机引擎的话。
那么ICE就是飞机引擎。
性能和效率不是一个数量级的。
18 楼
unsid
2009-03-17
rhel4是什么意思?windows平台下的java开发应该下载哪个安装包??我找半天rpm的有java,但是安装不了.msi的能安装但是没找到java开发的
17 楼
unsid
2009-03-17
比较下 ICE , HESSIAN , PHPRPC,赫赫,都支持多语言
16 楼
lshmouse
2009-03-16
楼上,怎么在ubuntu在配置ice的查检
15 楼
yoohoo.lai
2009-01-06
我在做性能测试时,会出现这个问题,不知博主有没遇过:
Client: only one instance of the Application class can be used
Assertion failure:
at IceInternal.ObjectAdapterFactory.finalize(ObjectAdapterFactory.java:269)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
Client: only one instance of the Application class can be used
Assertion failure:
at IceInternal.ObjectAdapterFactory.finalize(ObjectAdapterFactory.java:269)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
14 楼
masterkey
2008-04-24
我习惯自己操作配置文件,再对Ice的属性设置。
13 楼
jaketyao
2008-04-24
感谢 博主的解答。
我在做ice demo 时候,icebox 在eclipse 无法启动。
这是为什么?
配置文件 放在project 中。
我在做ice demo 时候,icebox 在eclipse 无法启动。
这是为什么?
public class IceBoxRun { public static void main(String[] args) { System.out.println("启动ICEBOX"); // --Ice.Config=config new Server().main("", new String[] { "--Ice.Config=config" + "//" + "config.icebox" }); } }
配置文件 放在project 中。
12 楼
masterkey
2008-04-22
Client服务无法正常连接Server上。
首先,
检查你的网络是否正常.(Client和Server链路是否通畅?)
再在看一下Client连接地址是否和Server保持一致。
再看一下Server所在主机的防火器设置规则,是否允许Client连接?
首先,
检查你的网络是否正常.(Client和Server链路是否通畅?)
再在看一下Client连接地址是否和Server保持一致。
再看一下Server所在主机的防火器设置规则,是否允许Client连接?
11 楼
jaketyao
2008-04-22
再问个问题,这个是什么错误。。
Ice.ConnectionRefusedException
error = 0
at IceInternal.Network.doConnect(Network.java:320)
at IceInternal.TcpConnector.connect(TcpConnector.java:25)
at IceInternal.OutgoingConnectionFactory.create(OutgoingConnectionFactor
y.java:323)
at IceInternal.RoutableReference.createConnection(RoutableReference.java
:433)
at IceInternal.DirectReference.getConnection(DirectReference.java:199)
at Ice._ObjectDelM.setup(_ObjectDelM.java:258)
at Ice.ObjectPrxHelperBase.__getDelegate(ObjectPrxHelperBase.java:1050)
at Ice.ObjectPrxHelperBase.ice_isA(ObjectPrxHelperBase.java:85)
at Ice.ObjectPrxHelperBase.ice_isA(ObjectPrxHelperBase.java:61)
at com.sitechasia.webx.ice.user.services.PersonalAbServcies.LinkmanServi
cesPrxHelper.checkedCast(LinkmanServicesPrxHelper.java:388)
at com.sitechasia.webx.user.ice.IceClientTest.init(IceClientTest.java:28
)
at com.sitechasia.webx.user.ice.IceClientTest.savaLinkman(IceClientTest.
java:50)
Ice.ConnectionRefusedException
error = 0
at IceInternal.Network.doConnect(Network.java:320)
at IceInternal.TcpConnector.connect(TcpConnector.java:25)
at IceInternal.OutgoingConnectionFactory.create(OutgoingConnectionFactor
y.java:323)
at IceInternal.RoutableReference.createConnection(RoutableReference.java
:433)
at IceInternal.DirectReference.getConnection(DirectReference.java:199)
at Ice._ObjectDelM.setup(_ObjectDelM.java:258)
at Ice.ObjectPrxHelperBase.__getDelegate(ObjectPrxHelperBase.java:1050)
at Ice.ObjectPrxHelperBase.ice_isA(ObjectPrxHelperBase.java:85)
at Ice.ObjectPrxHelperBase.ice_isA(ObjectPrxHelperBase.java:61)
at com.sitechasia.webx.ice.user.services.PersonalAbServcies.LinkmanServi
cesPrxHelper.checkedCast(LinkmanServicesPrxHelper.java:388)
at com.sitechasia.webx.user.ice.IceClientTest.init(IceClientTest.java:28
)
at com.sitechasia.webx.user.ice.IceClientTest.savaLinkman(IceClientTest.
java:50)
10 楼
masterkey
2008-04-21
好像没有 proxyToProxy 吧。
stringToProxy 和proxyToString是互逆操作。
你提的是 propertyToProxy ?
这个在
装载属性文件之后。
My.Proxy为proxy.properties中的一个属性项。
例如:
proxy.properties 内容如下:
stringToProxy 和proxyToString是互逆操作。
你提的是 propertyToProxy ?
这个在
ic.getProperties().load("proxy.properties");
装载属性文件之后。
Ice.ObjectPrx base = ic.propertyToProxy("My.Proxy");
My.Proxy为proxy.properties中的一个属性项。
例如:
proxy.properties 内容如下:
My.Proxy=TestAdapter:tcp -h 172.17.12.101 -p 10000
9 楼
jaketyao
2008-04-20
stringToProxy 和 proxyToProxy 有啥区别?
至今有点困惑!
至今有点困惑!
8 楼
masterkey
2008-04-18
官方的doc很厚,1700多页,内容很丰富
7 楼
jaketyao
2008-04-18
关注当中。。。。
感觉用起来不错。。。。。
就是中文资料少了。
感觉用起来不错。。。。。
就是中文资料少了。
6 楼
coolmenu
2008-04-17
腾讯也在用ICE作内部的一个项目
5 楼
masterkey
2008-04-17
它的出现,主要是Corba的替代产品,更轻量级,更高效,功能丰富。
它的易用性非常好。上手比较快。功能很强大。
感觉,国内用户不是很多,尽管有些国内公司在用,他们也从来不说。
觉得随着时间的推荐,我相信,Ice会成为很多公司在分布式通讯架构的首选。
如果我记得没错的话:mop好像在使用ICE,client好像是php的。
赫赫
它的易用性非常好。上手比较快。功能很强大。
感觉,国内用户不是很多,尽管有些国内公司在用,他们也从来不说。
觉得随着时间的推荐,我相信,Ice会成为很多公司在分布式通讯架构的首选。
如果我记得没错的话:mop好像在使用ICE,client好像是php的。
赫赫
4 楼
dayn9
2008-04-17
我也很喜欢ICE,我刚刚部署了一个基于ICE-Grid的网格,感觉不错。
但ZeroC生不逢时,前景十分让人担心,两年来,我一直担心他会突然挂掉。
但ZeroC生不逢时,前景十分让人担心,两年来,我一直担心他会突然挂掉。
3 楼
masterkey
2008-04-17
建议还是使用3.2.1版本。3.3还是beta版本。
你可以使用Server采用 C++,客户端采用:Java/Python/PHP等多种形式。
基于C++的实现相比要快于其它语言的实现。
主要还看你们自身应用的结构,数据包的大小,Ice也支持UDP,不过要控制每个数据包的大小,也支持数据包的压缩等。
你可以使用Server采用 C++,客户端采用:Java/Python/PHP等多种形式。
基于C++的实现相比要快于其它语言的实现。
主要还看你们自身应用的结构,数据包的大小,Ice也支持UDP,不过要控制每个数据包的大小,也支持数据包的压缩等。
2 楼
coolmenu
2008-04-17
我们内部也一直用的Ice,最近准备用c++写一些服务,看看java/c++的性能差距,另外3.3beta版本出来了,改进了异步调用的性能
发表评论
-
Redis 2.2.0 RC1 is out
2010-12-17 10:15 1224Redis 2.2.0 RC1 新特性:很多都是我所期待的; ... -
iBATIS 3 for Java Released (BETA 1)
2009-08-09 13:52 1389A month ago iBATIS turned 7 yea ... -
Memcached 1.4.0 Release
2009-07-10 17:10 1908New Features Binary Protocol ... -
nginx-0.7.60
2009-06-16 09:01 1474Changes with nginx 0.7.60 ... -
nginx-0.7.55
2009-05-06 18:47 1140Changes with nginx 0.7.55 ... -
Open Source SSL Acceleration
2009-04-17 11:15 1737SSL acceleration is a techniq ... -
March 2009 Web Server Survey
2009-04-02 12:49 1027In the March 2009 survey, we re ... -
nginx 缓存功能
2009-03-26 16:02 4420随着 nginx-0.7.44的发布,nginx的c ... -
Memcached Beta 1.3.2 Released
2009-03-12 16:21 1207We've just released memcached ... -
nginx 0.7.40
2009-03-09 17:09 1039Changes with nginx 0.7.40 ... -
February 2009 Web Server Survey
2009-03-02 09:19 1072In the February 2009 survey we ... -
Handle 1 Billion Events Per Day Using a Memory Gri
2009-02-17 10:41 1047Moshe Kaplan of RockeTier shows ... -
Scaling Digg and Other Web Applications
2009-02-16 11:36 1099Joe Stump, Lead Architect at D ... -
MySpace Architecture
2009-02-13 10:39 1246Information Sources Presenta ... -
Cloud Relationship Model
2009-01-20 09:53 1146Hiya All, welcome to my first g ... -
January 2009 Web Server Survey
2009-01-19 15:33 1098In the January 2009 survey we ... -
December 2008 Web Server Survey
2008-12-25 17:47 1005In the December 2008 survey, ... -
Apache 2.2.11
2008-12-15 13:24 1418Changes with Apache 2.2.11 * ... -
nginx 0.7.26
2008-12-09 12:05 1074Changes with nginx 0.7.26 ... -
Python 3.0 final released
2008-12-04 10:47 1372We are pleased to announce the ...
相关推荐
标题中的“zeroc_ice-3.7.0-cp36-cp36m-win_...总的来说,zeroc_ice库为Python开发者提供了强大的分布式通信能力,简化了多进程间的数据交换,并且具有良好的性能和可扩展性,是构建复杂后端系统时值得考虑的工具之一。
ASP.NET ZERO 带补丁亲测。 利用ABP框架搭建的模板项目,它会提供预建的页面及强大的基础设施架构。利用它提供的基础框架代码能让你快速的开发你...基于Abp开发的aspnet-zero-core-9.0.0最新版本,测试可用,可以改名。
OpenWrt-Lede_18.06.02 OrangePi Zero wifi-xr819 and soc-audio enabled! OrangePi Zero 安装OpenWrt 能够实现wifi和播放音乐。 详细安装和操作步骤: First Run boot-config: ...
标题中的“Zero-Shot Text-to-Image Generation”指的是在没有经过特定示例训练的情况下,模型能够根据输入的文本描述生成相应的图像的技术。OpenAI的研究团队在这个领域取得了突破性进展,他们开发的网络能够实现这...
Ice-3.6.4-msvc2015.msi zero-ice msvs2015 Ice-3.6.4-msvc2015.msi zero-ice msvs2015
zero ICE快速入门文档, ice是最优秀的rpc框架。 4、开发服务端代码如下 步骤一:编写Servant类即带有Disp的存根文件也就是说继承_HelloWorldDisp 这个类,这个类是个抽象类定义如下: public abstract class _...
【标题】中的“管理系统系列--Zero-Admin”指的是一个电商解决方案,它采用了“go-zero”框架来构建。go-zero是一个用Go语言编写的微服务框架,旨在简化开发过程,提高系统的可扩展性和稳定性。Zero-Admin这个命名...
在这个项目中,“AlphaZero-In-Unity”提供了四子棋、翻转棋和五子棋的AI实现,让玩家可以在Unity环境中与这些AI进行对战。 五子棋AI是AlphaZero应用的一个实例,五子棋是一种策略性很强的两人棋类游戏,目标是在...
zero\axis2-1.6.1-war.zip Axis2是下一代 Apache Axis。Axis2 虽然由 Axis 1.x 处理程序模型提供支持,但它具有更强的灵活性并可扩展到新的体系结构。Axis2 基于新的体系结构进行了全新编写,而且没有采用 Axis 1.x ...
此压缩包 "aspnet-zero-core-6.3.0.zip" 包含了该框架的最新稳定版本 6.3.0,适用于构建高效、可扩展的企业级解决方案。 **ABP 框架** ABP 是一套用于 .NET 平台的开源应用程序框架,它提供了一种结构化的方法来...
远程调用框架 Zero ICE 3.5.1 jar
在Ubuntu系统上安装Zeroc-ICE环境主要涉及以下知识点: 1. Ubuntu虚拟机的安装:用户需要在计算机上安装一个虚拟机软件,比如VirtualBox或者VMware,然后在虚拟机中安装Ubuntu操作系统。这一步骤是为了创建一个独立...
3/159 Syngress Zero-Day Exploit - Countdown to Darkness
资源分类:Python库 所属语言:Python 资源全名:zero_width_lib-1.0.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
此压缩包"aspnet-zero-core-8.1.0.zip"包含的是ASP.NET Zero 8.1.0版本的商业源代码。 **.NET Core** .NET Core 是微软推出的开源、跨平台的开发框架,用于构建服务器端应用。它支持Windows、Linux和macOS等操作...
sun8i-v3s-licheepi-zero-with-800x480-lcd
Zeroc ICE是一个开源的中间件平台,它支持C++、Java、Python、.NET等语言的分布式对象通信。ICE全称Internet Communications Engine,即互联网通信引擎,是一种用于开发分布式计算应用的强大工具。本文档主要围绕ICE...
Go-Zero(go-zero-1.5.5.tar.gz)是一款基于Golang语言的高效Web和RPC框架,它致力于提供一套完整的工程化解决方案,帮助开发者在构建大规模并发服务时确保系统的稳定性和可靠性。这款框架已经经过了大量的实战测试...
Ablon-Zero-Days-Thousands-Of-Nights-The-Life-And-Times-Of-Zero-Day-Vulnerabilities-And-Their-Exploits