server.cpp
来自「ICE-3.2 一个开源的中间件」· C++ 代码 · 共 74 行
CPP
74 行
// **********************************************************************//// 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 <IceUtil/Thread.h>#include <TestI.h>using namespace std;class Server : public Ice::Application{public: virtual int run(int argc, char* argv[]);};intServer::run(int argc, char* argv[]){ Ice::StringSeq args = Ice::argsToStringSeq(argc, argv); Ice::PropertiesPtr properties = communicator()->getProperties(); args = properties->parseCommandLineOptions("", args); Ice::stringSeqToArgs(args, argc, argv); if(properties->getPropertyAsInt("FailOnStartup") > 0) { return EXIT_FAILURE; } Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter"); TestI* test = new TestI(adapter); Ice::ObjectPtr obj = test; adapter->add(test, communicator()->stringToIdentity(properties->getProperty("Ice.ServerId"))); int delay = properties->getPropertyAsInt("ActivationDelay"); if(delay > 0) { IceUtil::ThreadControl::sleep(IceUtil::Time::seconds(delay)); } shutdownOnInterrupt(); try { adapter->activate(); } catch(const Ice::ObjectAdapterDeactivatedException&) { } communicator()->waitForShutdown(); ignoreInterrupt(); delay = properties->getPropertyAsInt("DeactivationDelay"); if(delay > 0) { IceUtil::ThreadControl::sleep(IceUtil::Time::seconds(delay)); } return test->isFailed() ? EXIT_FAILURE : EXIT_SUCCESS;}intmain(int argc, char* argv[]){ Server app; int rc = app.main(argc, argv); return rc;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?