RMI a kompozitni Objekt – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

RMI a kompozitni Objekt – Java – Fórum – Programujte.comRMI a kompozitni Objekt – Java – Fórum – Programujte.com

 

NotBeginner
~ Anonymní uživatel
185 příspěvků
16. 2. 2014   #1
-
0
-

Ahojte, fakt jsem zvědav jeslti mi s tím někdo pomůže. Na http://stackoverflow.com/ jsem ten problem či jeho řešení nenalezl.

1) Takže abych to zkrátil nejde mi přenést přes RMI strukturovany datovy typ(objekt) a pole Objektu ze serveru do klienta. Primitivní datové typy či pole primitivních datových typů tímto způsobem přenést jdou, dokonce jsem takto přenesl i objekt typu java.util.Date. Ale mmou vytvořiný objekt se přenést nedá. ( samozřejmě na localhostu)

2) existuje nějaký způsob jak zastavit kod serveru dokud se třeba na klientu neprovede nějaký výpočet?  Po změně proměnné v RMI by se to rozběhlo zase dál(kromě:  nekonecny cyklus while(true)  ... ten zbytecne zabere vykon na serveru, Thread,Runnable... tím to taky nechci řešit )

Zde je rozhrani :

public interface B03_InterfaceStruktTypy extends java.rmi.Remote{
	public ObjektHod getObjekt() throws java.rmi.RemoteException;
	public ObjektHod [] getPoleObjekt() throws java.rmi.RemoteException;
}

Zde je objekt který chci přenést :

class ObjektHod implements Serializable{
	private static final long serialVersionUID = -1138997011926352232L;
	private int cislo1,cislo2,cislo3;
	public int getCislo1(){ return cislo1;}
	public int getCislo2(){ return cislo2;}
	public int getCislo3(){ return cislo3;}
	ObjektHod(int cis1,int cis2,int cis3) throws RemoteException{
		this.cislo1=cis1;this.cislo2=cis2;this.cislo3=cis3;	}
}

Zde je objekt RMI :

class DatoveTypySloz extends UnicastRemoteObject implements B03_InterfaceStruktTypy,Serializable {
	private static final long serialVersionUID = 511721113178017596L;
	protected DatoveTypySloz() throws RemoteException {
		super();	}
	private ObjektHod objekt = new ObjektHod(351,899,16);
	private ObjektHod [] poleObjekt = {new ObjektHod(31,89,156),new ObjektHod(3,9,186),new ObjektHod(3,99,76)}; 
	public ObjektHod getObjekt() { return objekt;	}
	public ObjektHod [] getPoleObjekt() { return poleObjekt;}
}

Zde je server RMI:

public class B04_Server {
	public static void main(String [] args) {
		DatoveTypySloz im=null;
		try {
			im = new DatoveTypySloz();	} 
		catch (RemoteException e1) {
			e1.printStackTrace();	}
		System.out.println("RMI Server startuje...");
		try {
			Naming.bind("Info", im);
			System.out.println("Provedena instrukce");	} 
		catch (RemoteException e1) {
			e1.printStackTrace();
			System.err.println(e1);
			System.exit(1);	} 
		catch (MalformedURLException e1) {
			e1.printStackTrace();
			System.err.println(e1);
			System.exit(1);	} 
		catch (AlreadyBoundException e) {
			e.printStackTrace();
			System.err.println(e);
			System.exit(1);	}
		System.out.println("RMI Server ready.");	}
}

Zde je klient RMI :

public class B05_Klient {
	private static B03_InterfaceStruktTypy rmiObjekt = null;
	public static void main(String [] args){
		ObjektHod objekt;
		ObjektHod [] poleObjekt; 
		try {
			rmiObjekt = (B03_InterfaceStruktTypy)Naming.lookup("Info");	} 
		catch (Exception e) {
			System.err.println("RemoteDate exception: " + e.getMessage( ));
			e.printStackTrace( );	}
		System.out.println("\nVypiseme strukturovane datove typy :");
		try {
			objekt = (ObjektHod)rmiObjekt.getObjekt();	} 
		catch (RemoteException e) {
			e.printStackTrace();	}	}
}
Nahlásit jako SPAM
IP: 217.112.161.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 40 hostů

Podobná vlákna

RMI na Tomcatu — založil joe.

Objekt s číslem — založil Paulí

Objekt a polia? — založil WraCkeR

Ukazovatel na objekt — založil Anonymní uživatel

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý