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

📄 64.txt

📁 是一个 java 基础学习软件 有设计说明
💻 TXT
字号:
// 
远程调用

 必须生成存根

 实现该接口的服务器类rmic

 启动服务器

 安全管理器

 启动rmi注册表

//


import java.rmi.*;
import java.rmi.server.*;

public class BindTest
{
	public static void main(String[] args)
	{
		try
		{
			String[] bindings = Naming.list("");
			for(int i =0;i<bindings.length;i++)
			{
				System.out.println(bindings[i]);
			}
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
}
//// 
import java.rmi.*;
import java.rmi.server.*;

public class RmiClientTest
{
	public static void main(String[] args)
	{
			System.setProperty("java.security.policy","client.policy");    //set policy
		
		System.setSecurityManager(new RMISecurityManager());
		
		String url = "rmi://localhost/";
		
		try 
		{
			Server c1 = (Server) Naming.lookup(url+"toaster");
			Server c2 = (Server) Naming.lookup(url+"oven");
			System.out.println(c1.getDescription());
			System.out.println(c2.getDescription());
		}			
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
}
//
//  rmi  

import java.rmi.*;
import java.rmi.server.*;

public class RmiTest
{
	public static void main(String[] args)
	{
		try 
		{
			System.out.println("Constructing....");	
			
			Rmi p1 = new Rmi("Toaster");
			Rmi p2 = new Rmi("Oven");
			
			System.out.println("Binding server ....");
			
			Naming.rebind("toaster",p1);
			Naming.rebind("oven",p2);
			
			System.out.println("Waiting for....");
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
}
class Rmi extends UnicastRemoteObject implements Server
{
	public Rmi (String s) throws RemoteException
	{
		name = s;
	}
	public String getDescription() throws RemoteException
	{
		return "I am a "+name+". Buy me!";
	}
	private String name;	
}
interface Server extends Remote
{
	String getDescription() throws RemoteException;
}

⌨️ 快捷键说明

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