| 	
	
	
		
		|||||||
  | 
		
| 
 | 
![]()  | 
	
	
| 
		 | 
	Strumenti | 
| 		
			
			 | 
		#1 | 
| 
			
			
			
			 Senior Member 
			
		
			
			
			Iscritto dal: Jan 2002 
				Città: Spagna 
				
				
					Messaggi: 556
				 
				
				
				
				 | 
	
	
	
	
		
			
			 
				
				Lanciare un'applicaione Java con RMI
			 
			
		Dunque ho fatto stub e skeleton con rmic. Adesso dovrei avviare il registry con rmiregistry... Non ho capito pero' bene come fare... nel senso scrivo da console rmiregistry??? che parametry ci vogliono? e poi.. e' necesario che rimanga la finestra di console dalla quale lancio il comando? dopo aver lanciato il registry, lancio con java Nomeclassemain il programma server come se niente fosse??
		 
		
	
		
		
		
		
			
		
		
		
		
	
	 | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			
			
			 Senior Member 
			
		
			
				
			
			
			Iscritto dal: Jan 2001 
				Città: Milano 
				
				
					Messaggi: 5707
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		esatto. 
		
	
		
		
		
		
		
	
	dal prompt di dos dove lanci rmiregistry non devi avere il classpath settato alla dir che contiene gli stub  | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			
			
			 Senior Member 
			
		
			
			
			Iscritto dal: Jan 2002 
				Città: Spagna 
				
				
					Messaggi: 556
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		devo settare qualcke path?? vi posto il main del server: 
		
	
		
		
		
		
			
		
		
		
		
	
	final int REGISTRYPORT = 80; String registryHost = "localhost"; String serviceName = "stackchanger"; try{ if(System.getSecurityManager() == null){ System.setSecurityManager(new RMISecurityManager()); } String nomeCompleto = "//" + registryHost + ":" + REGISTRYPORT + "/" + serviceName; ServerImpl server = new ServerImpl(); Naming.rebind(nomeCompleto,server); } catch(Exception e){} } va bene?.. io prima compilo il server e cosi' ho server.class, poi faccio rmic server e ho stub e skeleton. Volevo fare una prova sulla macchina locale sulla quale sono ora. Avvio tramite dos rmiregistry scrivendo: rmiregistry 80 (per farlo stare in ascolto sulla 80). Avvio il server scrivendo semplicemente: java nomeserver poi avvio il client ma alla connessione mi dice: classNotFoundException c'e' qualke path da settare da qualke parte?  | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#4 | |
| 
			
			
			
			 Senior Member 
			
		
			
				
			
			
			Iscritto dal: Jan 2001 
				Città: Milano 
				
				
					Messaggi: 5707
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 Quote: 
	
 ma con tutte le porte che ci sono devi andare a prendere quella di default del protocollo piu' utilizzato lascia la sua (1099) devi settare il classpath come in tutte le applicazioni java....  | 
|
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#5 | |
| 
			
			
			
			 Senior Member 
			
		
			
			
			Iscritto dal: Jan 2002 
				Città: Spagna 
				
				
					Messaggi: 556
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 Quote: 
	
 e' una storia un po' lunga settare il classpath di chi? quando lancio il server? ho letto qualcosa sul sito sun riguardo a codebase, ma non ho capito la sintassi del path: va fatto come rtisorsa web, come risorsa locale... mi fai un esempietto? poniamo che ho tutti i file .class del server nella cartella c:\programma\mio programma\  | 
|
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#6 | 
| 
			
			
			
			 Senior Member 
			
		
			
				
			
			
			Iscritto dal: Jan 2001 
				Città: Milano 
				
				
					Messaggi: 5707
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		se fai semplicemente: 
		
	
		
		
		
		
		
	
	cd c:\programma\mio programma\ java nome_server cosa ti dice?  | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#7 | 
| 
			
			
			
			 Senior Member 
			
		
			
			
			Iscritto dal: Jan 2002 
				Città: Spagna 
				
				
					Messaggi: 556
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		se faccio java nomeserver dalla cartella nel quale e' installato il server parte, non mi vengono segnalati errori e dopo 2 sec il prompt torna normale come se il server terminasse.. ma non dovrebbe rimanere in running in ascolto sulla porta?
		 
		
	
		
		
		
		
			
		
		
		
		
	
	 | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#8 | |
| 
			
			
			
			 Senior Member 
			
		
			
				
			
			
			Iscritto dal: Jan 2001 
				Città: Milano 
				
				
					Messaggi: 5707
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 Quote: 
	
 nel tuo main: Codice PHP: 
	
			
	stampa l'eccezione.  | 
|
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#9 | 
| 
			
			
			
			 Senior Member 
			
		
			
			
			Iscritto dal: Jan 2002 
				Città: Spagna 
				
				
					Messaggi: 556
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		access denied (java.net.SocketPermission 127.0.0.1:80  connect,resolve) 
		
	
		
		
		
		
			
		
		
		
		
	
	e mo che significa? centra qualcosa il fatto che sono in una lan con dominio?non credo..  | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#10 | 
| 
			
			
			
			 Senior Member 
			
		
			
				
			
			
			Iscritto dal: Jan 2001 
				Città: Milano 
				
				
					Messaggi: 5707
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		giusto per provare fai cosi': 
		
	
		
		
		
		
		
	
	crea una file chiamato Mazza2.policy con all'interno: grant { permission java.security.AllPermission; }; e poi quando fai partire il server : java -Djava.security.policy=Mazza2.policy nome_server  | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#11 | 
| 
			
			
			
			 Senior Member 
			
		
			
				
			
			
			Iscritto dal: Jan 2001 
				Città: Milano 
				
				
					Messaggi: 5707
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		per la soluzione "seria" guarda il tutorial di Sun  
		
	
		
		
		
		
		
	
	 | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#12 | 
| 
			
			
			
			 Senior Member 
			
		
			
			
			Iscritto dal: Jan 2002 
				Città: Spagna 
				
				
					Messaggi: 556
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		Connection refused to host: localhost; nested exception is: java.net.ConnectiException: Connection refused: connect 
		
	
		
		
		
		
			
		
		
		
		
	
	dopo avermi dato questa scritta rimane fermo per 15-20 sec e poi termina...non e' che c'e' qualche impostazione di win che rifiuta connessioni?  | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#13 | |
| 
			
			
			
			 Senior Member 
			
		
			
				
			
			
			Iscritto dal: Jan 2001 
				Città: Milano 
				
				
					Messaggi: 5707
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 Quote: 
	
 ma e' il server che ti srive questo messaggio? non hai impostato firewall, vero? il tcp e' a posto? se fai ping localhost ti risponde correttamente?  | 
|
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#14 | 
| 
			
			
			
			 Senior Member 
			
		
			
			
			Iscritto dal: Jan 2002 
				Città: Spagna 
				
				
					Messaggi: 556
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		dunque.. il server sembrerebbe avviato (nel senso che non vengono  + exception e rimane all'infinito fino a che non chiudo la finestra dos) 
		
	
		
		
		
		
			
		
		
		
		
	
	il client aveva lo stesso problema di non poter accedere alla porta 80. con il file di policy pero' ci riesce anche lui. l'errore che mi da adesso il client e' questo: error unmarshalling return; nested exception is: java.lang.ClassNotFoundException: ServerImpl_stub in pratica non mi trova lo stub (che e' nella stessa cartella del server...)  | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#15 | 
| 
			
			
			
			 Senior Member 
			
		
			
			
			Iscritto dal: Jan 2002 
				Città: Spagna 
				
				
					Messaggi: 556
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		ho fatto java -Djava.rmi.server.codebase=file:/cartellaconlostub/ -Djava.security.policy=Mazza2.policy Nomeclasseserver 
		
	
		
		
		
		
			
		
		
		
		
	
	e il server parte e resta attivo dopodiche' faccio--> java -Djava.security.policy=Mazza2.policy nomefileclient quando nel client pero' faccio ServerImpl server = (ServerImpl)Naming.lookup(nome); server e' null. e mi crasha..  | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#16 | 
| 
			
			
			
			 Senior Member 
			
		
			
				
			
			
			Iscritto dal: Jul 1999 
				Città: Torino 
				
				
					Messaggi: 2221
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		Non è che hai fatto qualche modifica e ti sei dimenticato di ricreare skeleton e stub?
		 
		
	
		
		
		
		
		
	
	 | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#17 | 
| 
			
			
			
			 Senior Member 
			
		
			
			
			Iscritto dal: Jan 2002 
				Città: Spagna 
				
				
					Messaggi: 556
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		nono, l'ho rifatto anche adesso.. mi da una nullpointerexception uff 
		
	
		
		
		
		
			
		
		
		
		
	
	 | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#18 | 
| 
			
			
			
			 Senior Member 
			
		
			
				
			
			
			Iscritto dal: Jan 2001 
				Città: Milano 
				
				
					Messaggi: 5707
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		posta il client
		 
		
	
		
		
		
		
		
	
	 | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#19 | 
| 
			
			
			
			 Senior Member 
			
		
			
			
			Iscritto dal: Jan 2002 
				Città: Spagna 
				
				
					Messaggi: 556
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		sono un cretino  
		
	
		
		
		
		
			
		
		
		
		
	
	ServerImpl server = (ServerImpl)Naming.lookup(nome); l'errore e' nel fatto che facevo il lookup sulla classe che implementa l'interfaccia e non sull'interfaccia mi sapete dire pero' come farlo partire senza la finestra di dos che e' bruttina da vedere  | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#20 | 
| 
			
			
			
			 Senior Member 
			
		
			
			
			Iscritto dal: Jan 2002 
				Città: Spagna 
				
				
					Messaggi: 556
				 
				
				
				
				 | 
	
	
	
	
		
		
		
		 
		altra domanda... quando col client ho finito di fare quello che voglio.. devo chiudere la connessione tra me e il server? cioe' rmi e' con connessione o no?
		 
		
	
		
		
		
		
			
		
		
		
		
	
	 | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
		
		  
	   | 
| Strumenti | |
		
  | 
	
		
  | 
Tutti gli orari sono GMT +1. Ora sono le: 12:57.









		
		
		

 
 







