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

📄 helloserver.java

📁 java网络编程精解 源代码 对网络编程感兴趣的可以一观
💻 JAVA
字号:
package hello;
import org.omg.CosNaming.*;
import org.omg.CosNaming.NamingContextPackage.*;
import org.omg.CORBA.*;
import org.omg.PortableServer.*;
import org.omg.PortableServer.POA;
import java.util.Properties;

public class HelloServer {
  public static void main(String args[]) {
    try{
      //创建和初始化ORB
      ORB orb = ORB.init(args, null);

      //获得根POA的引用,并且激活POAManager
      POA rootpoa =POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
      rootpoa.the_POAManager().activate();

      //创建一个HelloServiceImpl对象,并且把它与ORB关联
      HelloServiceImpl helloServiceImpl = new HelloServiceImpl();
      helloServiceImpl.setORB(orb); 

      //获得HelloServiceImpl对象的CORBA类型的对象引用
      org.omg.CORBA.Object ref = rootpoa.servant_to_reference(helloServiceImpl);
      HelloService href = HelloServiceHelper.narrow(ref);
	  
      //获得命名服务的Context
      org.omg.CORBA.Object objRef =
          orb.resolve_initial_references("NameService");
      NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);

      //把HelloService对象与“HelloService”名字绑定
      String name = "HelloService";
      NameComponent path[] = ncRef.to_name( name );
      ncRef.rebind(path, href);

      System.out.println("HelloServer ready and waiting ...");

      //等待客户端访问HelloService对象
      orb.run();
    }catch (Exception e) {
      System.err.println("ERROR: " + e);
      e.printStackTrace(System.out);
    }
    System.out.println("HelloServer Exiting ...");
  }
}


/****************************************************
 * 作者:孙卫琴                                     *
 * 来源:<<Java网络编程精解>>                       *
 * 技术支持网址:www.javathinker.org                *
 ***************************************************/

⌨️ 快捷键说明

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