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

📄 nets.java

📁 基于RMI分布计算实例(实现两个矩阵相乘)
💻 JAVA
字号:
//NetS.java
package chapter9;
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.LocateRegistry;
/**
 * 该类创建远程对象,并绑定到指定的名称上,等待客户机的访问。
 */
public class NetS extends UnicastRemoteObject implements MatrixServer{
	public NetS () throws RemoteException{
		super();
	}
	
	/**
	 * 对指定的任务进行计算
	 */
	public int[][] caculate(Task task) throws RemoteException{
		System.out.println("Get a task:");
		System.out.println(task);
		return task.execute();
	}
	
	public static void main(String args[])throws Exception{
		try  {
			Class.forName("chapter9.Constants");
		} catch (Exception e)  {
			e.printStackTrace();
			System.exit(3);
		}
		//根据参数,取得端口号
		String sPort;
		if(args.length > 0){
			sPort = args[0];
		}else{
			sPort = Constants.DEFAULT_PORT;
		}
		try{
			int iPort = Integer.parseInt(sPort);
			//启动RMI注册表
			LocateRegistry.createRegistry(iPort);
			//创建远程对象
			MatrixServer obj = new NetS();
			//生成绑定名称
			String sRebind = "rmi://localhost:" + sPort + "/" + 
							Constants.SERVICE_NAME;
			//将指定名称绑定到远程对象上
			Naming.rebind(sRebind, obj);
			
			System.out.println(sRebind);
			System.out.println("Ready to receive tasks.");
		}catch(Exception e){
			e.printStackTrace();
			System.exit(3);
		}
	}		
}

⌨️ 快捷键说明

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