Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > Кто работал с rmi |
Автор: oson 4.3.2004, 20:42 |
Господа. Кто-то может подсказать - что-то с сетью у меня не получается работать даже в самом примитивном виде. Есть программа, которую я периодически изменяю. Затем ее надо ставить на нескольких удаленных машинах. Я так понимаю, что я могу реализовать это при помощи rmi - то есть имена открытых методов остаються прежними - меняю то, что мне надо. Вот пытаюсь - на сервере(у себя) делаю интерфейс и класс,например package rmi; import java.rmi.*; public interface GetAI extends Remote { public String getStr() throws RemoteException; } затем класс package rmi; import java.rmi.*; import java.rmi.server.*; import java.rmi.registry.*; import java.net.*; public class GetA extends UnicastRemoteObject implements GetAI public String getStr() throws RemoteException { return "AAAAAA"; } public getA() throws RemoteException { super(); } public static void main(String[] args) { System.setSecurityManager(new RMISecurityManager()); try { GetAI g = new GetAI(); LocateRegistry.createRegistry(2222); Naming.rebind("//TPR:2222/whereA", pt); System.out.println("Ready"); }catch (RemoteException ex) {ex.printStackTrace(); }catch(MalformedURLException ex){ex.printStackTrace(); } } } на клиенте package rmi; import java.rmi.*; public class DisplayA {public static void main(String[] args)throws Exception { System.setSecurityManager(new RMISecurityManager()); GetAI t = (GetAI)Naming.lookup ("//TPR:2222/whereA"); System.out.println("STRING=" + t.getStr()); } } после создания класса на сервере запускаю rmic rmi.GetA и получаю там классы stub и skel. Когда запускаю сервер и клиент, то они через раз то просто ждут - не пишет даже Ready на сервере, то пишут - access denied. Наверное кто-то знает нюансы. Запускаю все это из IntelliJIdea |