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

📄 rclient.java

📁 this gives details of the network programming
💻 JAVA
字号:
// Sample client for RemoteMath RMI object
// 
// This client expects a hostname and 2 numbers on the command line.
// the hostname is the host running the RMI server, and the client
// calls each of the RemoteMath methods with the numbers specified.
//
import java.rmi.*;

public class RClient {
    
    public static void main(String args[]) {
	if (args.length != 3) {
	    System.out.println("Usage: RClient hostname num1 num2");
	} else {
	    System.out.println("Remote Client Starting");

	    // Grab the command line parameters
	    String hostname = args[0];
	    int num1 = Integer.parseInt(args[1]);
	    int num2 = Integer.parseInt(args[2]);

	    // creating the remote object actually involves network
	    // code (behind the scenes) - there are a number of
	    // exceptions that can arise:
	    //
	    // Naming.lookup can throw NotBound if the name isn't bound.
	    //                         RemoteException if the remote registry isn't running
	    //                         AccessException (security stuff - not an issue here)
	    //                         MalformedURLException - bad rmi URL
	    // In general there are a bunch of other exceptions that can crop up
	    // due to all the network (socket) code that happens when Naming.lookup
	    // is called, or when the remote object methods are invoked.

	    try {
		// The naming service returns a generic object
		// the name of the server is specified using an rmi URL
		// Check out the java documentation on the Naming class
		// (in java.rmi) for more info on rmi URLs

		Object o = Naming.lookup("rmi://"+hostname+"/ReMath");

		// need to cast the generic object as something that
		// supports the RemoteMath interface.

		RemoteMath r = (RemoteMath) o;

		// Now we have a RemoteMath object r - the rest of the code
		// look just like it would if this was a local object!

		System.out.println(num1 + "+" + num2 + " = " + r.Add(num1,num2));
		System.out.println(num1 + "-" + num2 + " = " + r.Sub(num1,num2));
		System.out.println(num1 + "*" + num2 + " = " + r.Mult(num1,num2));
		System.out.println(num1 + "/" + num2 + " = " + r.Div(num1,num2));

	    } catch (Exception e) {
		System.out.println("ERROR " + e.getMessage());
		e.printStackTrace();
	    }
	}
    }
}

⌨️ 快捷键说明

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