📄 rclient.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 + -