ICE安装及使用示例

ICE是什么

ZeroC ICE 是指ZeroC公司的ICE(Internet Communications Engine)中间件平台。

Ice 应用适合于异构平台环境中使用:客户和服务器可以采用不同的编程语言,可以运行在不同的操作系统和机器架构上,并且可以使用多种网络技术进行通信。无论部署环境如何,这些应用的源码都是可移植的。

其采用C/S 模式结构,支持同步调用方式和异步调用方式,异步派发调用方式。支持跨语言的对象调用。多种语言之间采用共同的Slice(Specification Language for Ice)进行沟通。支持ice到C,JAVA,C#,VB,Python,Ruby,PHP等多种语言的映射。

ICE使我们专注于应用逻辑的开发,它来处理所有底层的网络接口编程,这样我们就不用去考虑这样的细节:打开网络连接、网络数据传输的序列化与反序列化、连接失败的尝试次数等。

--------------------------------------------------------------------------------------------------------------------------------------------------------

ICE怎么安装

在编译ice时,会提示缺少哪些必要工具,根据提示依次安装即可。

1.安装gcc,g++

yum install gcc

yum install gcc-c++

2.安装设置mcpp

yum install mcpp.x86_64

ln -s  /usr/lib64/libmcpp.so.0.3.0 /usr/lib/libmcpp.so

3.安装bzip

yum install bzip2-devel.x86_64

4.安装openssh

yum install openssl-devel.x86_64

5.安装expat

yum install  expat-devel.x86_64

6.安装Berkeley DB

yum install db4-devel.x86_64

7.安装ice

源码下载:http://download.zeroc.com/Ice/3.5/Ice-3.5.1.tar.gz

主目录:make

进入cpp:make install

--------------------------------------------------------------------------------------------------------------------------------------------------------

ICE 测试demo

demo.ice:定义服务器和客户端的公共接口

module Demo{
	interface test{
 		string   execute(string mth,string cmd);
	};
};

client.cpp:客户端程序

#include <string>
#include <Ice/Ice.h>
#include <demo.h>
using namespace std;
using namespace Demo;
int main(void)
{
    try
    {
        Ice::CommunicatorPtr ic;
        testPrx testServer;
        Ice::ObjectPrx base;
        ic = Ice::initialize();
        base = ic->stringToProxy("TestAdapter:default -p 10000");
        testServer = testPrx::checkedCast(base);
        string mystr = testServer->execute("My first cpp "," ice demo");
        printf("result:%s\n",mystr.c_str());
    }
    catch (const Ice::Exception& ex) {
        cerr << ex << endl;
    }
} 

server.cpp:服务端程序

#include <Ice/Ice.h>
#include <demo.h>
using namespace std;
using namespace Demo;
class Server:public test
{
public:
  ::std::string execute (const string & mth, const string & str,const Ice::Current &);
public:
    Server ();
};
Server::Server ()
{  

};
std::string Server::execute (const string & mth, const string & str,const Ice::Current &)
{
  cout << mth + str << endl;
  return mth + str;
}  

int main ()
{
    int status=0;
    Ice::CommunicatorPtr ic;
    try
    {
        ic = Ice::initialize();
        Ice::ObjectAdapterPtr adapter = ic->createObjectAdapterWithEndpoints ("TestAdapter","default -p 10000");
        Ice::ObjectPtr object = new Server;
        adapter->add (object, ic->stringToIdentity ("TestAdapter"));
        adapter->activate ();
        ic->waitForShutdown ();
    }
    catch (const Ice::Exception & e)
    {
        cerr << e << endl;
        status = 1;
    }
    catch (const char *msg)
    {
        cerr << msg << endl;
        status = 1;
    }
    if(ic)
    {
        try
        {
            ic->destroy();
        }
        catch (const Ice::Exception & e)
        {
            cerr<< e <<endl;
            status = 1;
        }
    }
    return status;
}

参考

http://blog.csdn.net/fenglibing/article/details/6372444

http://masterkey.iteye.com/blog/183307

时间: 2024-10-09 10:14:18

ICE安装及使用示例的相关文章

Python3.5 数据处理 –jieba + sklearn库安装及第一个示例

一,安装pip3: #sudo apt-get install pip3 二,安装jieba: #sudo pip3 install jieba 三,安装sklearn: #sudo pip3 install scikit-learn 四,安装sklearn依赖(numpy,scipy): #sudo pip3 install numpy #sudo pip3 install scipy eg:国内安装时可能出现time-out错误-解决办法如下: #sudo pip3 install -i h

在centos6.7下安装oracle11gR2的示例数据库

#oracle11GR2的安装文件和示例数据库的安装文件是分开下载和分开安装的. 1.从官网下载示例数据库 2.解压上传到服务器 3.切换到ORACLE用户 $cd    $ORACLE_HOME/oui/bin    $./runInstaller 启动OUI数据库管理工具 ,注意提前设置export LANG=en_US4.选择example的安装的xml路径/opt/oracle/examples/examples/stage/products.xml5.安装后的地址是 $ORACLE_H

搭建coreseek(sphinx+mmseg3)详细安装配置+php之sphinx扩展安装+php调用示例

http://blog.csdn.net/e421083458/article/details/21529969 常用的命令 ps -ef|grep searchd 如果你开了search服务后,你命令比如 indexer search 后面都需要带上 --rotate ./indexer --all ./searchd 至于其它什么命令 看手册 collect2: ld returned 1 exit status make[2]: *** [indexer] Error 1 make[2]:

RHEL5 X86-64上安装Oracle 11gR2示例与总结

进入Oracle DBA行业也有好几年了,但是说到安装Oracle的经验,我还真不是特别多,印象中刚开始每次安装都有点磕磕碰碰,随着接触Oracle的时间越来越长,各方面的原理.机制也都有一定的了解后,现在安装Oracle已经很少会遇到问题了.基本上我把自己安装Oracle的方式可以归为下面三个阶段 刚接触和学习Oracle,安装完全没有头绪,只能按照网上或者书上有截图的方式一步一步照样安装,出错后,只能协助,然后重新安装 接触Oracle一段时间以后,安装的基本原理.步骤也都了解了,一般都是再

google proto buffer安装和简单示例

google proto buffer安装和简单示例 1.安装 下载google proto buff. 解压下载的包,并且阅读README.txt,根据里面的指引进行安装. $ ./configure $ make $ make check $ make install 没有意外的话,前面三步应该都能顺利完成,第四步的时候,需要root权限.我采用的默认的路径,所以,仅仅用root权限,还是安装不了,要自己先在/usr/local下新建一个lib的目录,然后执行make install,这样,

Redis 安装与简单示例

Redis 安装与简单示例 一.Redis的安装 Redis下载地址如下:https://github.com/dmajkic/redis/downloads 解压后根据自己机器的实际情况选择32位或者64位.下载解压后图片如下: redis-server.exe redis服务器的daemon启动程序 redis.conf redis配置文件 redis-cli.exe redis命令行操作工具.当然,也可以用telnet根据其纯文本协议来操作 redis-check-dump.exe 本地数

ice安装以及简单使用

ICE(Internet Communications Engine)是一个中间件平台.作为一个高性能的互联网通信平台,ICE包含了很多分层的服务和插件(Plug-ins),并且简单.高效和强大. ICE当前支持C++.Java.C#.Visual Basic.Python和PHP编程语言,并支持在多种操作系统上运行.更多的操作系统和编程语言将会在以后的发布中支持. 1:下载安装包:http://www.zeroc.com/download.html 2:安装ice并在环境变量中配置ice的安装

coreseek(sphinx+mmseg3),php下sphinx扩展安装和php示例

搭建coreseek(sphinx+mmseg3)安装 [第一步] 先安装mmseg3 1 cd /root/install 2 wget http://www.coreseek.cn/uploads/csft/4.0/coreseek-4.1-beta.tar.gz 3 tar zxvf coreseek-4.1-beta.tar.gz 4 5 cd coreseek-4.1-beta 6 cd mmseg-3.2.14 7 ./bootstrap 8 ./configure --prefix

1、cesium安装及第一个示例

cesium安装及第一个示例 一.环境要求 二.浏览器要求 三.安装node.js 四.下载cesium包(地址为https://cesiumjs.org) 包括了 五.在你的项目里引入相关js与css 只需要在js中写下面这句话 六.在html页面写入这句话,然后nmp install      npm  start就可以了:如果没有服务器:可以在cmd里输入 npm install http-server -g        http-server服务就跑起来了. 原文地址:https://