ICE通信 ----实现vs2013客户端服务器之间的简单通信,hello world 程序。

在电脑上安装两个 安装包 Ice-3.5.1-VS2013.msi  和Ice-3.5.1.msi其中第一个文件的作用是 在 vs2013 的项目--》》属性中--》》ICE configration进行配置的界面。

然后把自己写的ICE程序放在这个 资源文件下,然后进行ICE 的配置,配置完成后会自动生成      h和.cpp文件。

然后再自己书写  server.cpp   具体书写内容全部摘录如下:

#include <Ice/Ice.h>
#include <Printer.h>
using namespace std;
using namespace Demo;
class PrinterI : public Printer {
public:
    virtual void printString(const string & s,
        const Ice::Current &);
};
void
PrinterI::
printString(const string & s, const Ice::Current &)
{
    cout << s << 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", "default -p 10000");
        Ice::ObjectPtr object = new PrinterI;
        adapter->add(object, adapter->getCommunicator()->stringToIdentity("SimplePrinter"));
        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)
        ic->destroy();
    return status;
}

再自己书写 client.cpp   具体书写内容全部摘录如下:

#include <Ice/Ice.h>
#include <Printer.h>
using namespace std;
using namespace Demo;
int
main(int argc, char * argv[])
{
int status = 0;
Ice::CommunicatorPtr ic;
try {
ic = Ice::initialize(argc, argv);
Ice::ObjectPrx base = ic->stringToProxy(
"SimplePrinter:default -p 10000");
PrinterPrx printer = PrinterPrx::checkedCast(base);
if (!printer)
throw "Invalid proxy";
printer->printString("Hello World!");
} catch (const Ice::Exception & ex) {
cerr << ex << endl;
status = 1;
} catch (const char * msg) {
cerr << msg << endl;
status = 1;
}
if (ic)
ic->destroy();
return status;
}

再分别运行服务器和客户端程序。

先运行服务器程序,再运行客户端程序,会在客户端程序上显示   hello world  ,成功解决问题。

有些细节还没有说清,会在后期进行添加。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值