ICE学习之C# Java之间通讯

   进alibaba以来一直听说我们有部分产品之间的通讯是采用ICE架构的,它是一种简洁的分布式网络中间件。但是由于项目紧张一直没有时间研究,这两天终于有时间研究一把(而且据老大说我们今年要对旺旺提供给内部的接口进行测试,该部分的设计又是采用ICE通讯的),所以也是不得已不学习的。为此查了好多资料,包括老唐的博客。http://blog.csdn.net/sfd

         终于也弄明白了是怎么回事,并且实战了一把,也把自己学习的历程总结一下,方便后来者。

         首先,必须明白ICE是作为一种中间件语言,那么它必须是标准的,简易的。事实也是如此,如下例子,在ICE文档中只需要申明module名称,接口名称,方法名称。

01     #ifndef SIMPLE_ICE

02     #define SIMPLE_ICE

03    

04     module Demo {

05         interface Printer

06         {

07             void printString(string s);

08         };

09     };

10     #endif

 

其次,支持不同语言之间通讯的。也就是说服务器端拿着ICE的文档去编写服务器端的代码,它可能采取c++也可能采用C#也可能采用java来编写服务器端的代码。而客户端用户拿着ICE的文档,去编写客户端的代码。而他们编译出来的代码是可以相互通信的,因为他们采用了同一个桥梁ICE。下面将通过两个个例子说明

l  如何编写一个C#ICE服务和一个C#的客户端进行通讯

l  如何编写一个C#ICE服务和一个java的客户端进行通讯。

例子一:快速搭建一个C#ICE服务和一个C#的客户端代码。

1.         首先需要下载ice的安装包,地址如下:http://www.zeroc.com/download.html

本例采用vs2005,故下载http://www.zeroc.com/download/Ice/3.3/Ice-3.3.0-VC80.msi

2.         在下载安装完之后,设置系统的环境变量,Path = Path+ ;安装目录/bin

3.         仔细阅读安装目录中的readme,其中对于每一种语言如何编写服务器端和客户端代码都有描述。

4.         打开vs2005编辑器,加载C#demo。目录=安装目录/democs/demo.sln

5.         demosolution中有很多工程,我们选择Printer来进行实验。编译PrinterS,PrinterC

6.         打开一个cmd窗体,cd到工程目录,运行server.exe.启动ICE服务。

7.  再打开一个cmd窗体,cd到工程目录,允许client.exe,

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值