找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 3697|回复: 9

----问个ACE的实现问题

[复制链接]
发表于 2010-4-16 09:29:00 | 显示全部楼层 |阅读模式
    服务端的功能函数我已经写好了,但我不知道服务端的main函数怎么写?

      服务端有三个类,因此要在main函数中实现三个servant,还有,我这里面要用到NameService,因此,main函数中要用到Cosnaming.请高手能帮我举个列子:

    就举这个*.idl中的列子吧,呵呵(把服务端和客户端的main都写出来,还有要用到NameService):
    //
module Test
{
  /// A very simple interface
  interface One
  {
    /// Return a simple string
    string get_string ();
  };

  interface Two
    {
      string get_string ();
    };

    interface Three
    {
      string get_string ();
    };
};


谢谢了,也可以直接找我联系,QQ:345931986
发表于 2010-4-16 10:15:30 | 显示全部楼层
可以按照普通console工程对待,直接用ACE_TMAIN代替原来的main()
 楼主| 发表于 2010-4-16 10:39:10 | 显示全部楼层

回复 #2 winston 的帖子

呵呵,能给个具体的实现不?我老是弄不起来,反正这个列子也简单啊。哈哈
发表于 2010-4-16 11:03:22 | 显示全部楼层

回复 #1 longwenbiao 的帖子

CORBA::ORB_var orb = CORBA::ORB_init(argc,argv,"");
CORBA::Object_var poa_object = orb->resolve_initial_references("RootPOA");
PortableServer::POA_var poa = PortableServer::POA::_narrow(poa_object.in());
PortableServer::POAManager_var poa_manager = poa->the_POAManager();
poa_manager->activate();

//Get the Naming Context reference
CORBA::Object_var naming_context_object= orb->resolve_initial_references("NameService");
CosNaming::NamingContext_var naming_context = CosNaming::NamingContext::_narrow(naming_context_object.in());

Servant servant();               
poa->activate_object(&servant);
CORBA::Object_var objservant = servant._this();
CosNaming::Name nameservant;
nameservant.length (1);
nameservant[0].id = CORBA::string_dup ("servant");
// call rebind instead bind
naming_context->rebind(servant, objservant.in());
 楼主| 发表于 2010-4-16 11:15:46 | 显示全部楼层

回复 #4 evangel 的帖子

呵呵,你跑题了?你可以动手试试,当你servant多了,就出问题了,一个没问题。
你可以把我这个列子实现下吗?谢谢了
 楼主| 发表于 2010-4-16 14:45:50 | 显示全部楼层

回复 #2 winston 的帖子

呵呵,高手,能帮下忙不?
发表于 2010-4-16 16:25:06 | 显示全部楼层
从Servant的定义得知每个Servant都可以由IOR唯一确定,也就是说IOR和Servant是一对一的关系,Naming Service提供的只是助记符解析服务。
 楼主| 发表于 2010-4-16 16:28:10 | 显示全部楼层

回复 #7 evangel 的帖子

那是不是CosNaming也和Servant一一对应?
发表于 2010-4-16 17:01:14 | 显示全部楼层

回复 #8 longwenbiao 的帖子

Naming Service相当于一个功能函数,你可以随时调用,但是你启动S端能有几个IOR?
 楼主| 发表于 2010-4-19 16:37:53 | 显示全部楼层

回复 #9 evangel 的帖子

呵呵,问题已经解决,老大说的对,servant和IOR一一对应,需要几个servant,就建立几个CosNaming.:lol
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-11-22 12:21 , Processed in 0.025045 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表