queryserver.java

来自「以Java结合rmi开发」· Java 代码 · 共 55 行

JAVA
55
字号
//QueryServer.java

import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.Registry;
import java.rmi.registry.LocateRegistry;
import java.net.*;
import java.io.*;

public class QueryServer
{
 public static void main(String args[])
 {
  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  String portNum,registryURL;
  try
  {
   System.out.print("Enter the RMIregistry port number :");
   portNum=(br.readLine()).trim();
   int RMIPortNum=Integer.parseInt(portNum);
   startRegistry(RMIPortNum);
   QueryImpl exportedObj=new QueryImpl() ;
   registryURL="rmi://localhost:"+portNum+"/score";
   Naming.rebind(registryURL,exportedObj);
   System.out.println("Server registered. Registry currently contains:");
   listRegistry(registryURL);
   System.out.println("Server is ready.");
  }
  catch(Exception ex)
  {
   ex.printStackTrace();
  }
 }

 private static void startRegistry(int RMIPortNum)throws RemoteException
 {
  try
  {
   Registry registry1=LocateRegistry.getRegistry(RMIPortNum);
   registry1.list();
  }
  catch(RemoteException e)
  {
   Registry registry1=LocateRegistry.createRegistry(RMIPortNum);
  }
 }

 private static void listRegistry(String registryURL)throws RemoteException,MalformedURLException
 {
  System.out.println("Registry"+registryURL+"contains: ");
  String []names=Naming.list(registryURL);
  for(int i=0;i<names.length;i++)
   System.out.println(names[i]);
 }
}

⌨️ 快捷键说明

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