Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    AIUTO!! Problema comunicazione client-server

    Ho iniziato a scuola a realizzare un programma di IM e tra le funzionalità che volevo fare è di dare la possibilità agli utenti di avere una foto personale. Il problema è che il se il metodo run del thread lo metto in ascolto poi non riesco a ricevere nel metodo invia la risposta dal server se può caricare o no l'immagine. Ecco il codice:

    la classe che invia le immagini

    codice:
    public boolean inviaImmagine(byte[] b) throws IOException{
            this.busy=true;
            DataOutputStream out=new DataOutputStream(client.getOutputStream());
            this.inviaNotifica("[CaricaImmagine:"+b.length+"]");
            String mes=this.riceviMessaggio();
            System.out.println(mes);
            if(mes.equals("[InviaImmagine]")){
                System.out.println("Ricevuto conferma. Invio Buffer");
                out.write(b);
                System.out.println("Finito invio immagine!");
                out.flush();
                busy=false;
                this.runner.start();
                return true;
            }
            else{
                busy=false;
                this.runner.start();
                return false;
            }
        }
    e questo è il metodo run

    codice:
     public void run() {
           String mess;
           while(true){
                try {
                        mess = this.riceviMessaggio();
                        System.out.println(mess);
                        if(mess.contains("[RiceviImmagine:")){
                            this.riceviImmagine(mess.substring(mess.indexOf("[RiceviImmagine:"),mess.indexOf(";")),Integer.parseInt(mess.substring(mess.indexOf(";")+1,mess.indexOf("]"))));
                            do{
                                this.runner.sleep(100);
                            }while(this.busy);
                        }
                } catch (InterruptedException ex) {
                    Logger.getLogger(ThreadGestioneFile.class.getName()).log(Level.SEVERE, null, ex);
                    break;
                }
                catch (IOException ex) {
                        Logger.getLogger(ThreadGestioneFile.class.getName()).log(Level.SEVERE, null, ex);
                        break;
                }
           }
        }
    se nel run faccio cosi:

    codice:
     public void run() {
    
           while(true){
                try {
                     do{
                     this.runner.sleep(100);
                      }while(this.busy);
                     }
                } catch (InterruptedException ex) {
                    Logger.getLogger(ThreadGestioneFile.class.getName()).log(Level.SEVERE, null, ex);
                    break;
        }
    funziona solo che poi non riesco più a ricevere dal server le immagini.

    Come posso risolvere il problema?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Ti invito subito a leggere il regolamento interno a quest'area (e a quella superiore "Programmazione"): http://forum.html.it/forum/showthrea...hreadid=973889

    Il titolo non deve contenenre epiteti o cose inutili come "AIUTO!!". Esso deve dare una descrizione del problema contenuto nella discussione e basta.

    Inoltre, quando si posta del codice, lo si deve fare usando gli appositi tag CODE previsti dal forum. Il punto 6 del regolamento interno indica dettagliatamente come si fa.

    Aggiusto io il tuo post.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Ok....grazie per l'avviso.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.