ice入门级资料.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ice入门级资料

安装好ICE软件(Ice-3.3.0-VC80.msi) 通过新建一个文本文件(txt),然后重命名为.ice文件 如text.ice module CLTS { interface Printer { void printString(string s); }; }; cmd-转到test.ice文件所在路径,然后使用命令slice2cpp 如: 执行完之后,会在对应的目录生成两个文件:test.h、test.cpp 新建一个win32控制台项目(作为服务端程序)。 项目属性设置,如下: 修改下系统自动生成的test.cpp文件。如: 新建一个cpp文件,实现接口类中的方法。如Ts.cpp文件,内容如下: includeIce/Ice.h #include Ice/Application.h #include IceUtil/IceUtil.h #include IceStorm/IceStorm.h #includetest.h using namespace std; class PrinterI:public CLTS::Printer { virtual void printString(const std::string s,const Ice::Current ); } ; void PrinterI::printString(const std::string s, const Ice::Current ) { std::cout s std::endl; } int main(int argc,char* argv[]) { int status = 0; Ice::CommunicatorPtr ic; try { ic = Ice::initialize(argc, argv); Ice::ObjectAdapterPtr adapter = ic-createObjectAdapterWithEndpoints(SimplePrinterAdapter, tcp -h -p 11000); Ice::ObjectPtr object = new PrinterI(); Ice::Identity subId; subI=Printer; adapter-add(object,subId); adapter-activate(); ic-waitForShutdown(); } catch (const Ice::Exception e) { std::cerr e std::endl; status = 1; } catch (const char * msg) { std::cerr msg std::endl; status = 1; } if (ic) ic-destroy(); return status; } 注解:粉红色部分为,实现接口类。后面部分,把该实现类的加入ICE中,供客户端调用 以上完成了接口的实现及其服务的部署 通过ICE命令slice2cs,生成供C#调用的接口。如下: 执行完之后,会在对应的目录生成一个文件:test.cs 新建一个c#窗体工程 添加引用,把ICE的相关的DLL引入。(Ice.dll、IceStorm.dll,把这两个文件先拷贝到生成可执行目录下,如C:\work\project\AutoManage\AutoManage\bin\Debug,然后引入)步骤如下截图顺序: 代码文件内容如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using CLTS; namespace AutoManage { public partial class Loigin : Form { public Ice.Communicator _communicator; public Loigin() { InitializeComponent(); initIce(); } public void initIce() { try { Ice.InitializationData initData = new Ice.InitializationData(); initDperties = Ice.Util.createProperties(); initDperties.load(config.client); _communicator = Ice.Util.ini

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档