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

📄 server.cc

📁 MICO2.3.13 corba 环境平台
💻 CC
字号:
#include "callback.h"#include <CORBA.h>#include <iostream>#include <fstream>#include <unistd.h>using namespace std;CORBA::ORB_ptr orb = CORBA::ORB::_nil();CORBA::String_var mess; // = CORBA::String::_nil();Callback_ptr callback = Callback::_nil();class Worker    : public MICOMT::Thread{public:    void _run(void*)    {	for (;;) {	    cout << "sending reply ``" << mess << "'' to the client." << endl;	    callback->reply(mess);#ifndef _WIN32	    sleep(1);#else // _WIN32	    _sleep(1);#endif // _WIN32	}    }};// Implementation for interface Senderclass Sender_impl    : virtual public POA_Sender{public:    void message(Callback_ptr obj, const char* msg)    {	cout << "client send message ``" << msg << "''" << endl;	callback = Callback::_duplicate(obj);	mess = msg;	Worker* worker = new Worker();	worker->start();    }};intmain(int argc, char* argv[]){    orb = CORBA::ORB_init(argc, argv, "mico-local-orb");    CORBA::Object_ptr obj = orb->resolve_initial_references("RootPOA");    PortableServer::POA_ptr poa = PortableServer::POA::_narrow(obj);    assert(!CORBA::is_nil(poa));    Sender_impl* servant = new Sender_impl;    PortableServer::ObjectId_var id = poa->activate_object(servant);    PortableServer::POAManager_ptr manager = poa->the_POAManager();    manager->activate();    cout << "server started." << endl;    orb->run();    CORBA::release(manager);    CORBA::release(poa);    CORBA::release(orb);}

⌨️ 快捷键说明

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