⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 server.cpp

📁 ICE-3.2 一个开源的中间件
💻 CPP
字号:
// **********************************************************************//// Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved.//// This copy of Ice is licensed to you under the terms described in the// ICE_LICENSE file included in this distribution.//// **********************************************************************#include <Ice/Ice.h>#include <ServerLocator.h>#include <TestI.h>using namespace std;intrun(int argc, char* argv[], const Ice::CommunicatorPtr& communicator,    const Ice::InitializationData& initData){    //    // Register the server manager. The server manager creates a new    // 'server' (a server isn't a different process, it's just a new    // communicator and object adapter).    //    Ice::PropertiesPtr properties = communicator->getProperties();    properties->setProperty("Ice.ThreadPool.Server.Size", "2");    properties->setProperty("ServerManager.Endpoints", "default -p 12010:udp");    Ice::ObjectAdapterPtr adapter = communicator->createObjectAdapter("ServerManager");    //    // We also register a sample server locator which implements the    // locator interface, this locator is used by the clients and the    // 'servers' created with the server manager interface.    //    ServerLocatorRegistryPtr registry = new ServerLocatorRegistry();    registry->addObject(adapter->createProxy(communicator->stringToIdentity("ServerManager")));    Ice::ObjectPtr object = new ServerManagerI(adapter, registry, initData);    adapter->add(object, communicator->stringToIdentity("ServerManager"));    Ice::LocatorRegistryPrx registryPrx =         Ice::LocatorRegistryPrx::uncheckedCast(adapter->add(registry, communicator->stringToIdentity("registry")));    Ice::LocatorPtr locator = new ServerLocator(registry, registryPrx);    adapter->add(locator, communicator->stringToIdentity("locator"));    adapter->activate();    communicator->waitForShutdown();    return EXIT_SUCCESS;}intmain(int argc, char* argv[]){    int status;    Ice::CommunicatorPtr communicator;    try    {        Ice::InitializationData initData;        initData.properties = Ice::createProperties(argc, argv);        communicator = Ice::initialize(argc, argv, initData);        assert(initData.properties != communicator->getProperties());        status = run(argc, argv, communicator, initData);    }    catch(const Ice::Exception& ex)    {        cerr << ex << endl;        status = EXIT_FAILURE;    }    if(communicator)    {        try        {            communicator->destroy();        }        catch(const Ice::Exception& ex)        {            cerr << ex << endl;            status = EXIT_FAILURE;        }    }    return status;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -