我试图分发一个我实施的简单房间预订系统,我尝试研究,这就是我想出来的......但是当我运行它们并输入不同的端口号时,客户端仍然运行..shouldn&只有当端口号与我为服务器输入的端口号匹配时才会运行?我做错了什么?
对于客户:
public static void main (String[] args)
{
Scanner s = new Scanner (System.in);
int portNum = 1099;//default port
try {
System.out.print("Enter the port number");
portNum= s.nextInt();
Registry reg= LocateRegistry.getRegistry("localhost", portNum);
System.out.println("Connected to RMI server");
对于服务器:
public static void main(String argv[]) {
int portNum = 1099;
try {
Scanner s = new Scanner (System.in);
HotelServer server = new HotelServer ();
//register it with the local naming registry
try
{
System.out.print("Enter The Port Number");
portNum= s.nextInt();
Registry reg= LocateRegistry.createRegistry(portNum);
reg.bind("localhost", server);
System.out.println("Server started");
答案 0 :(得分:1)
从LocateRegistry.getRegistry()
获取结果并不表示您已连接到任何内容。它不执行任何网络操作。它只是构造一个存根。如果端口号不正确,则在尝试使用它之前不会发现它。