Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di sersul
    Registrato dal
    Feb 2003
    Messaggi
    75

    [JAVA] client-server con writeObject(Object o) e readObject()

    Ciao ho un grosso problema e nn so come risolverlo. Ho due diversi progetti uno server ed un altro client. Client invia pacchetti al server che li esamina e risponde con un altro pacchetto. Ogni pacchetto implementa:
    codice:
    package model;
    
    public interface Packet {
    ...
    }
    che appunto uso per ''interfacciare'' client e server. Quindi sia il client che il server conoscono il package model. Il problema è che quando il client invia un pacchetto e.g.
    codice:
    package client;
    
    public class Packet1 implement Packet {
    ...
    }
    facendo writeObject(new Packet1(...)), in ricezione (ossia il server) mi da l'errore che nn trova la classe client.Packet1.
    Io quello che faccio in ricezione è:
    codice:
    package server;
    ...
    Packet p = (Packet) readObject();
    L'errore che mi stampa è il seguente:
    codice:
    java.lang.ClassNotFoundException: client.Packet1
    ...
    che appunto dice che nn trova la classe client.Packet1. Ma io ho usato model.Packet per interfacciarlo...perchè non va? Qualcuno sa aiutarmi?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    forse hai un problema nel cast
    (model.Packet)readObject();

    bell'avatar

  3. #3
    Utente di HTML.it L'avatar di sersul
    Registrato dal
    Feb 2003
    Messaggi
    75
    Originariamente inviato da floyd
    forse hai un problema nel cast
    (model.Packet)readObject();

    bell'avatar
    Ho provato ma mi da lo stesso errore!!!!

  4. #4
    Utente di HTML.it L'avatar di sersul
    Registrato dal
    Feb 2003
    Messaggi
    75
    Quello che non riesco a capire è che, se i due progetti client e server stanno insieme in un unico progetto (sto usando JBuilder come editor) tutto funziona nel momento in cui vado a dividere i due progetti, creando un progetto per il client ed un altro per il server, ho questo tipo di errore!

  5. #5
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    E se nel server dopo

    package server;

    inserisci

    import model.*;


    Ciao,
    Ciao, Brainjar

  6. #6
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    allora nel server non hai messo l'interfaccia
    devi aggiungerla nel classpath o nel jar, se lo crei

  7. #7
    Utente di HTML.it L'avatar di sersul
    Registrato dal
    Feb 2003
    Messaggi
    75
    Originariamente inviato da Brainjar
    E se nel server dopo

    package server;

    inserisci

    import model.*;


    Ciao,
    Fatto! ma lo stesso!

  8. #8
    Utente di HTML.it L'avatar di sersul
    Registrato dal
    Feb 2003
    Messaggi
    75
    Originariamente inviato da floyd
    allora nel server non hai messo l'interfaccia
    devi aggiungerla nel classpath o nel jar, se lo crei
    Certo che l'ho messo... il server conosce model.Packet ma non lo usa! Quello che vuole è client.Packet1 infatti, se inserisco questa classe nel server, tutto funziona! Ma non è questo quello che voglio...i due codici devono restare separati e comunicare via interfacce! Ma perchè non funzioni non lo capisco!

  9. #9
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Scusa ma non ne ero sicuro neanche io.
    Come ti ha suggerito floyd, il server deve conoscere l'interfaccia.
    Per cui se questa non è nello stesso package (leggi path), la
    devi rendere disponibile tramite classpath.

    Ciao,
    Ciao, Brainjar

  10. #10
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Posta il codice. Come fa il server a richiederti client.Packet1 ?

    Ciao,
    Ciao, Brainjar

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.