Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)