ice java例子,ICE java 范例
ICE java 实例
首先介绍:
ICE是一个面向对象的中间件平台。从根本上讲,这意味着ICE提供了一些工具、API和库用以开发面向对象的客户端-服务器的应用程序。ICE应用程序适合于用在各种异构的环境中:客户端和服务器可以用不同的语言编写,能够运行在不同的操作系统、不同体系结构的机器上,可以用不同的网络技术进行通讯(大概10种以上)。这些程序的源代码可以在不同的开发环境之间移植。
在我看来其实是dcom和CORBA的封装。他和gearman和thrift类似。
一:
首先确保各个编译器安装成功。检测
Slice2java ,slice2cpp,slice2C#,slice2py,slice2vb,slice2rb等
开放端口默认开放10000
二编写Ice脚本:
module Demo{
interface Printer{
string printString(string s);
};
};
运行slice2java Demo.ice;
三,编写servant类的PrinterI:
public class PrinterI extends _PrinterDisp{
public String printString(String s, Current __current) {
// TODO Auto-generated method stub
StringBuilder sb=new StringBuilder(s);
s=sb.reverse().toString();
return s;
}
}
编写Server:
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(
"simplePrinterAdapter", "default -p 10000");// 创造对象适配器
Ice.Object objcet = new PrinterI();// 创建servant对象
adapter.add(objcet, Ice.Util.stringToIdentity("simplePrinter"));// 适配器添加一个新的servant,给servant对象取个名字
adapter.activate();
System.out.println("connection success");
ic.waitForShutdown();
} catch (Ice.LocalException e) {
e.printStackTrace();
status = 1;
} catch (Exception e) {
System.err.print(e.getMessage());
status = 1;
} finally {
if (ic != null) {
ic.destroy();
}
}
System.exit(status);
}
}
四,运行服务器端:在windows下建立的Java工程 打成ice_1.jar包放到Linux上运行
命令:java –cp ./Ice.jar:ice_1.jar Demo.Server//注意Ice.jar包放到ice_*.jar的同一个目录,(特别注意不要再按ctr+c在当前窗体运行客户端,按ctr+c它会中断服务器,NND这里把握搞得郁闷)
五,编写客户端(Java和PHP版)
Java版:
public class Client {
/**
* @param args
*/
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:default -p 10000" +
"");
PrinterPrx printer = PrinterPrxHelper.checkedCast(base);
if (printer == null) {
System.out.println("invalid proxy");
}
String out = printer.printString("I love you");
System.out.println(out);
} catch (Ice.LocalException e) {
// TODO: handle exception
e.printStackTrace();
status = 1;
} catch (Exception e) {
System.err.print(e.getMessage());
status = 1;
} finally {
if (ic != null) {
ic.destroy();
}
}
System.exit(status);
}
}
6,测试Java先:java –cp ./Ice.jar:ice_2.jar Demo.Client//把客户端打包成ice_2.jar,
1 楼
bluky999
2012-03-15
我更喜欢thrift
ice java例子,ICE java 范例相关推荐
- gearman java例子_GearMan Java版试用 02- 简单应用之Worker编写和说明
gearman分为3部分,client - server - worker,在<GearMan Java使用01>中,说明了怎么启动java版的gearman server,在这篇文章中, ...
- ICE学习之C# Java之间通讯
进alibaba以来一直听说我们有部分产品之间的通讯是采用ICE架构的,它是一种简洁的分布式网络中间件.但是由于项目紧张一直没有时间研究,这两天终于有时间研究一把(而且据老大说我们今年要对旺旺提供给内 ...
- ice 服务java连接,“先进的互联互通技术”–使用ice联通php和java [part 1 server]
PHP没有中间件,导致了对很多麻烦.比如,对数据库的操作必须要链接数据库,然后做SQL操作.WEB程序直接操作数据库的方法,这样会带来很多人为因素的事故隐患,以及管理上的麻烦,尤其是对大型的网站应用来 ...
- 一个简单的例子看java线程机制
一个简单的例子看java线程机制 作者: zyf0808 发表日期: 2006-03-26 11:20 文章属性: 原创 复制链接 import java.util.*; public class T ...
- java继承类型转换_#java 一个简单的例子理解java继承、成员函数重写、类型转换...
一个简单的例子理解java继承.成员函数重写.类型转换 1.继承简介 举一个简单的例子:笔分为很多种,比如毛笔.钢笔.圆珠笔等等,这些笔都有一些相同的属性比如长度.笔迹的粗细等等:但他们也有不同的特点 ...
- 反射 java 例子 get_Java反射实例
Java反射(Reflection)就是在运行 Java 程序时,可以加载.探知.使用编译期间完全未知的类.也就是说,Java 程序可以加载一个运行时才得知类名的类,获得类的完整构造方法,并实例化出对 ...
- java里readfile,readfile java例子
java-FileUtils(读取.判断.获取)-(新手) - 浪子. - 博... 2019年3月27日 实例: importorg.apache.commons.io.*;importjava.i ...
- java饲养员喂动物_做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处...
做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处 interface Animal{ //动物的接口 public void eat(Food food); // ...
- Base64加密算法原理、具体例子及Java代码
Base64加密算法原理.具体例子及Java代码 Base64加密算法原理.具体例子及Java代码 原理 转换过程 先将要转换的数据转成二进制数据 补位 转换 示例 代码实现 Java PHP 参考链 ...
最新文章
- 假设一个学校的计算机系新建,武汉大学计算机学院《计算机系统结构》08级A卷B卷及答案...
- AJAX的post请求与上传文件
- PHP中遍历stdclass object 及 json 总结[中国航天神舟十号以json形式向地面返回数据]...
- Python字典的setdefault() 和get()方法比较
- python模块安装(xgboost)
- Codeforces 138C(区间更新+离散化)
- Matplotlib 绘图秘籍
- [复变函数]第13堂课 作业讲解; 4 解析函数的幂级数表示法 4.1 复级数的基本性质...
- pandas获取索引行数据
- java初级开发面试题
- ST-Link驱动安装不正确,设备管理器黄色感叹号,win10安装stlink驱动
- st8s003 c语言编译器,STM8S系列单片机stm8s003f3p6性能介绍
- 惠普触控板使用指南_hp触摸板(hp笔记本触摸板怎么开)
- Java多线程游戏-雷霆战机
- 分布式专题(1)- 计算机网络
- java实现word,pdf,excel,图片添加水印
- Civil 3D 2012 SP 2.1发布了
- 6.3 GitHub - 维护项目
- TCP/IP协议详解(TCP/IP protocol)
- 微信公众平台-公众号相关api封装(java)
热门文章
- 使用FFMPEG库封装264视频和acc音频数据到MP4文件中
- 竣达技术丨机房组态系统综合监控解决方案
- 世界杯 叮当 机器人 树莓派_世界杯营销大战,移动互联网谁捧起了大力神杯
- 题目:利用指针知识,写一函数,求一个字符串的长度
- Fedora10下AMD,Nvidia,Intel显卡驱动安装指南
- APP测试面试题汇总,面试必考一定要看
- 【新】CSDN文章一键打印、输出PDF(自动阅读全文、全清爽模式)
- PDF如何插入空白页?3 次点击在PDF中插入空白页!
- Android拦截黑名单(简易版)
- ssh突然无法登录Connection closed by xxx port 22