Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Java Rmi

  1. #1

    Java Rmi

    Problema: ho due applicazioni Server che lavorano con RMI sullo stesso computer. Insieme non possono funzionare, ottengo infatti la segnalazione di socket già impegnato.

    E' possibile farle lavorare sullo stesso socket?

    O, estendendo la domanda, è possibile lanciare l'rmiregistry su due porte differenti?

    Stranamente il comado
    java.rmi.registry.LocateRegistry(1099) viene eseguito normalmente, ma se provo a cambiare porta, tipo 3000 mi dice che l'host rifiuta la connessione.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315
    Non conosco l'RMI, quindi rispondo solo alla prima domanda: no!
    Un socket puo' essere utilizzato solo da un processo, quindi i due server devono usare porte differenti.
    Ciao,
    Lorenzo

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    2,894
    E' in ascolto sulla 3000?

  4. #4
    Per curiosità, perchè vuoi far partire sulla stessa macchina due istanze dello RMI registry? Le applicazione server sono identiche?
    - "Boy, the food at this place is really terrible."
    - "Yeah, I know, and such ... small portions."

  5. #5
    Non sono uguali ma molto simili.

  6. #6
    Allora non vedo l'utilità di avere due registry. Registra i servizi che vengono offerti dai due server con due nomi diversi.
    - "Boy, the food at this place is really terrible."
    - "Yeah, I know, and such ... small portions."

  7. #7
    Prima applicazione


    java.rmi.registry.LocateRegistry.createRegistry(10 99);
    java.rmi.Naming.rebind("forza4", imp_rmi_forza4_server);


    Seconda applicazione

    java.rmi.registry.LocateRegistry.createRegistry(10 99);
    java.rmi.Naming.rebind("chat", imp_rmi_chat_server);

    Lanciate da sole funzionano senza problemi, insieme non è possibile.

    Se provo a dare un socket diverso dal 1099 ottengo il seguente errore:

    java.rmi.ConnectException: Connection refused to host: 192.168.1.3; nested exception is:
    java.net.ConnectException: Connection refused


    Qualsiasi buon esempio è ben accetto.

  8. #8
    codice:
    Registry registry = LocateRegistry.getRegistry();
    try {
        registry.list();
    } catch (RemoteException e) {
        // il registry non c'è lo crei
        try {
            registry = LocateRegistry.createRegistry();
        } ....
    }
    Così dicono di fare in giro.
    - "Boy, the food at this place is really terrible."
    - "Yeah, I know, and such ... small portions."

  9. #9
    Funziona!

    Mi dà quasi fastidio che tu ci sia riuscito scrivendo 2 righe. Io ci ho perso due giornate di navigazione in internet!!!!

  10. #10
    Ho parlato troppo presto.

    Per programmare in Java uso Sun One Studio 4, ex Forte for Java. Stranamente le 2 applicazioni di cui sopra, con la modifica che mi hai passato vengono mandate in esecuzione senza problemi insieme da Sun One Studio, mentre se le faccio partire a mano, con "java Applicazione", insieme non funzionano. Qualche idea?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.