Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro
DJI aggiorna la sua linea di droni ultraleggeri con Neo 2, un quadricottero da 160 grammi che mantiene la compattezza del predecessore ma introduce una stabilizzazione meccanica a due assi, sensori omnidirezionali e un sistema LiDAR
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-07-2006, 18:19   #1
DarkSiDE
Senior Member
 
L'Avatar di DarkSiDE
 
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
[Java] RMI

Salve,
sto sviluppando una piccola applicazione java per giocare alla battaglia navale. Sto avendo problemi con l'rmi:

Codice:
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 

  java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 

  java.lang.ClassNotFoundException: navale.Gui_Stub
Il problema è che l'errore lo dà saltuariamente (riavvio e mi funziona solo una volta, la seconda lancia quell'errore), inoltre lo stub è presente nel package navale. Soluzioni?

Un altro problemino, ho visto un'applicazione molto simile alla mia che non fa uso del policy file, l'autore mi ha spiegato che ha dato tutti i permessi all'applet da codice..vi sembra possibile? effettivamente girava senza policy file

grazie,
Francesco
__________________
Non farò mai più affari con khalhell, 4HwGenXX.
DarkSiDE è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 03:35   #2
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Ciao,
effettivamente l'eccezione e' dovuta al fatto che non trova lo stub. Veramente strano... inoltre dici che al riavvio le cose funzionano correttamente.

Una domanda: questo stub e' messo staticamente nella directory adeguata oppure lo scarichi dinamicamente, per esempio attraverso un server web?

Se fai delle modifiche che non comportano la generazione di un nuovo stub, funziona ancora? Funziona solo la prima volta che riavvi? Funziona ancora una volta che lo generi nuovamente?

Per quanto riguarda il file di policy... me lo sono sempre generato e non mi sono mai chiesto se era possibile fare le stesse cose programmaticamente. La cosa e' interessante, se hai qualche info in piu', per favore, pubblicala

High Flying
Sottovento
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 10:12   #3
lovaz
Senior Member
 
L'Avatar di lovaz
 
Iscritto dal: Jul 2002
Messaggi: 4334
In effetti servirebbe qualche informazione in piu',
tipo tutto lo stack trace dell'eccezione.

Immagino userai un registro rmi, come lo avvii?
Inoltre usi java5 o precedenti?
lovaz è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 11:22   #4
DarkSiDE
Senior Member
 
L'Avatar di DarkSiDE
 
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
sono un cretino, davvero.

Era solo una questione di classpath :-)

l'rmi registry lo lancio da "esegui", esistono modi "migliori" o semplicemente più veloci? è possibile lanciarlo dall'applicazione stessa?

mi chiedevo una cosa: quando andrò a creare un pacchetto di installazione della mia applicazione come farò a far settare il classpath della mia applicazione?

esiste una maniera più elegante per far sì che, cliccando su gioco.exe faccia il tutto? (lanciare l'rmi registry, settare la path, lanciare il gioco (applet))

in ultimo:
Quote:
ho visto un'applicazione molto simile alla mia che non fa uso del policy file, l'autore mi ha spiegato che ha dato tutti i permessi all'applet da codice e non ha importato le classi per la sicurezza..vi sembra possibile? effettivamente girava senza policy file
utilizzo J2SE 1.5.0_06 e su html.it ho letto:

Note
Nell'esempio precedente si è utilizzato il J2SE 1.5.0_06 che solleva il programmatore dal compito di creare lo skeleton e lo stub necessari alla tecnologia RMI. Qualora si utilizzasse una versione più vecchia di JRE, bisognerà, invece, avvalersi del comando rmic per produrre queste due classi.

Nel caso si utilizzino due macchine distinte per l'applicazione server e per quella client, sarà necessario copiare l'interfaccia remota ISquareRoot anche sul client.



vi risulta? se non registro con rmic a me dà errore

grazie mille
__________________
Non farò mai più affari con khalhell, 4HwGenXX.

Ultima modifica di DarkSiDE : 07-07-2006 alle 11:41.
DarkSiDE è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 11:31   #5
lovaz
Senior Member
 
L'Avatar di lovaz
 
Iscritto dal: Jul 2002
Messaggi: 4334
Quote:
Originariamente inviato da DarkSiDE
l'rmi registry lo lancio da "esegui", esistono modi "migliori" o semplicemente più veloci?
lanciarlo da uno script ant, per esempio.
Quote:
è possibile lanciarlo dall'applicazione stessa?
certo:
Codice:
Registry reg = LocateRegistry.createRegistry(port);
Il classpath penso lo puoi specificare anche nel manifest file del
pacchetto jar.

In genere puoi fare tutto (lanciare registri, fare rmic, ecc) con un buildfile di ant.

Per il fatto del policy specificato da programma sono curioso anche io...
lovaz è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 11:42   #6
DarkSiDE
Senior Member
 
L'Avatar di DarkSiDE
 
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
Quote:
Originariamente inviato da lovaz
lanciarlo da uno script ant, per esempio.

certo:
Codice:
Registry reg = LocateRegistry.createRegistry(port);
Il classpath penso lo puoi specificare anche nel manifest file del
pacchetto jar.

In genere puoi fare tutto (lanciare registri, fare rmic, ecc) con un buildfile di ant.

Per il fatto del policy specificato da programma sono curioso anche io...
all'interno dell'applicazione, quando dovrei lanciarlo?
mi spieghi la storia del file ant? grazie
__________________
Non farò mai più affari con khalhell, 4HwGenXX.

Ultima modifica di DarkSiDE : 07-07-2006 alle 11:44.
DarkSiDE è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 11:46   #7
lovaz
Senior Member
 
L'Avatar di lovaz
 
Iscritto dal: Jul 2002
Messaggi: 4334
Quote:
Originariamente inviato da DarkSiDE
... vi risulta? se non registro con rmic a me dà errore

grazie mille
E' vero, con la versione 5 gli stub, se non trovati, vengono generati automaticamente,
E' comunque necessario generarli se si intendono supportare client pre-1.5.

Non ho capito perche' ti da errore, spiegati meglio.

Tieni conto che se rmiregistry prima di java5 non doveva vedere
gli stub nel classpath, ora sono le classi di implementazione delle
interfacce remote che non devono essere viste dal registro
(una volta che il registro vede le classi di implementazione gli
stub possono essere automaticamente generate da esse).
lovaz è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2006, 11:53   #8
lovaz
Senior Member
 
L'Avatar di lovaz
 
Iscritto dal: Jul 2002
Messaggi: 4334
Quote:
Originariamente inviato da DarkSiDE
all'interno dell'applicazione, quando dovrei lanciarlo?
Prima della (re)bind. Non so come sia il tuo codice, ti mostro un esempio:
Codice:
// creo il server unicast, esporto su porta 1200
MiaInterfaccia srv = new MioServer(1200);
Registry reg = LocateRegistry.createRegistry();
reg.rebind("MioServer", srv);
Quote:
mi spieghi la storia del file ant? grazie
Ant e' simile a make, e' un po' uno standard per java, lo trovi qui:
http://ant.apache.org/

[sborone]
Nella mia guida (vedi sito in firma) trovi un capitoletto dedicato ad Ant
[/sborone]
lovaz è offline   Rispondi citando il messaggio o parte di esso
Old 10-07-2006, 15:05   #9
DarkSiDE
Senior Member
 
L'Avatar di DarkSiDE
 
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
nessuno?
__________________
Non farò mai più affari con khalhell, 4HwGenXX.
DarkSiDE è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
AWS Transform si evolve: agenti IA per m...
I social network hanno stancato gli ital...
Star Citizen supera i 900 milioni di dol...
Netflix ha eliminato la funzione Cast pe...
L'IA è una bolla e scoppier&agrav...
Un rapporto collega i data center di Ama...
Troppa concorrenza per Cherry (quella de...
Entro il 2035 la Cina vuole costruire de...
Tineco in super sconto: ultimo giorno di...
La Cina creerà una costellazione ...
I veicoli elettrici emettono radiazioni ...
Stai per acquistare una PS5? Attento al ...
iPhone 17 Pro Max finalmente disponibile...
Apple, Sony, Bose, Beats, Sennheiser, CM...
Arriva il Raspberry Pi 5 da 1 GB, ma por...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 06:10.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v