IceGrid 服务初次搭建【C++】

本文档详细介绍了如何使用C++逐步搭建IceGrid服务,包括编写ICE接口、实现服务器和客户端、创建配置文件、建立目录结构以及进行测试。特别地,提到了如Server.cfg、Client.cfg等配置文件的位置,并通过icegridadmin和icegridgui工具进行服务管理和配置验证。
摘要由CSDN通过智能技术生成

1.编写ice接口

#ifndef SIMPLE_ICE
#define SIMPLE_ICE

module DiyModule{
	interface CAbsPrinter{
		void DispStr(string s);
		int Calc(int num);
	};
};

#endif

2.编写服务器,实现接口类

#include <Ice/Ice.h>
#include "Printer.h"
using namespace DiyModule;

#include <iostream>
using namespace std;

class CPrinter : public CAbsPrinter{
public:
	virtual void DispStr(const string& msg, const Ice::Current& curr){
		cout << msg << endl;
	}
	virtual int Calc(int num, const Ice::Current& curr){
		return num*10;
	}
};


int  main(int argc, char* argv[])  
{  
	int iStatus = 0;//程序的退出时的状态,就是否成功执行  
	Ice::CommunicatorPtr spCommunicator;//来包含Ice run time 的主句柄
	cout << "~~~~~~~~~~服务器开始启动~~~~~~~~~~~~~" << endl;

	try{   
		spCommunicator = Ice::initialize(argc, argv);   
		Ice::ObjectAdapterPtr pAdapter= spCommunicator->createObjectAdapterWithEndpoints("PrinterAdapter", "default -p 10000");    
		Ice::ObjectPtr pObj = new CPrinter;  
		pAdapter->add(pObj, spCommunicator->stringToIdentity("SimplePrinter"));  
		pAdapter->activate();  
		spCommunicator->waitForShutdown();  
	}   
	catch (const Ice::Exception& e){  
		cerr << e << endl;  
		iStatus = 1;  
	}   
	catch (const char* msg) {  
		cerr <<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值