Ciao a tutti, ringrazio infinitamente chiunque sappia aiutarmi.
Ho sviluppato un programma che simula un middleware, diversi threah possono collegarsi ad esso con una lookup e scambiarsi messaggi.
Message è un oggetto remoto con campi: mittente, destinatario ed extra_argument
Chiamiamo Fornitore un thread che deve trasmettere un file (presente in una sua cartella locale) ad un altro thread cliente che lo richiede.

Quindi il Fornitore eseguirà l'istruzione:

codice:
loadFile(nomeFile);
Message msg=new Message(fornitore, destinatario, FILE);
forniore.send(msg)
con

codice:
   public static void loadFile(String nomeFile){
        try {
            byte[] data;
            InputStream in=new FileInputStream(nomeFile);
            int byteAvailable= in.available();
            if(byteAvailable>0){
                data= new byte[byteAvailable];
                in.read(data);
            }
        } 
        catch (Exception ex) {   ex.printStackTrace(); }
    }
e il Cliente deve ricevere il messaggio e salvare il file in una sua cartella locale

codice:
Message msg= cliente.receive();
OutputStream out = new FileOutputStream(nomeFile);
out.write(DATA );
Non riesco proprio a farlo funzionare, le ho provate un pò tutte ma credo di non aver ben capito il funzionamento degli stream, quindi non posto altro codice e chiedo direttamente a voi qual'è la soluzione che credete migliore, vorrei capire
COSA devo passare come parametro FILE e DATA.

Ho bisogno di voiiiii!