server.cpp
来自「ICE-3.2 一个开源的中间件」· C++ 代码 · 共 79 行
CPP
79 行
// **********************************************************************//// Copyright (c) 2003-2006 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/Application.h>#include <ServantLocatorI.h>#include <TestCommon.h>#include <TestI.h>using namespace std;using namespace Ice;class ServantLocatorI : public Test::ServantLocatorI{public: ServantLocatorI(const string& category) : Test::ServantLocatorI(category) { }protected: virtual Ice::ObjectPtr newServantAndCookie(Ice::LocalObjectPtr& cookie) const { cookie = new CookieI(); return new TestI(); } virtual void checkCookie(const Ice::LocalObjectPtr& cookie) const { Test::CookiePtr co = Test::CookiePtr::dynamicCast(cookie); test(co); test(co->message() == "blahblah"); } virtual void throwTestIntfUserException() const { throw Test::TestIntfUserException(); }};class TestServer : public Application{public: virtual int run(int, char*[]);};intmain(int argc, char* argv[]){ TestServer app; return app.main(argc, argv);}intTestServer::run(int argc, char* argv[]){ communicator()->getProperties()->setProperty("TestAdapter.Endpoints", "default -p 12010 -t 10000:udp"); communicator()->getProperties()->setProperty("Ice.Warn.Dispatch", "0"); Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("TestAdapter"); adapter->addServantLocator(new ServantLocatorI(""), ""); adapter->addServantLocator(new ServantLocatorI("category"), "category"); adapter->add(new TestI, communicator()->stringToIdentity("asm")); adapter->activate(); adapter->waitForDeactivate(); return EXIT_SUCCESS;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?