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

    problema buffer scrittura

    Salve a tutti. Avrei un problema credo stupido ma fastidioso.
    In un'applicazione client/server, c'è un client che invia (a seconda della scelta dell'utente) delle immagini o una lista di nomi al server.Questo stampa la lista in una JList oppure visualizza le immagini in un'apposita finestra. Ora mi succede questo. Se, dopo che ho visualizzato un'immagine, io vado a stampare dei nomi, prima del primo nome mi compaiono caratteri strani. Potrebbe essere qualcosa rimasto nel buffer dell'immagine precedentemente inviata?
    Pensando a questo ho messo dei flush() ma il problema si presenta lo stesso.
    Qualcuno può aiutarmi per favore.
    Grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Senza vedere nemmeno una riga di codice è impossibile aiutarti.


    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
    questo è il client che invia le immagini

    codice:
    OutputStream output = socket.getOutputStream();
    System.out.println("esito operazione invio immagine "+ImageIO.write(bufferedImage, "png", output));
    output.flush();
    e questo il server che riceve l'immagine e la salva

    codice:
    BufferedImage bufferedImage=ImageIO.read(clientAdmin.getInputStream());
    ImageIO.write(bufferedImage, "png", new File(clientselezionato+ ".png"));
    bufferedImage.flush();
    da premettere che non chiudo la connessione perchè deve rimanere aperta per permettere di continuare la comunicazione

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Non so se possa risolvere il problema o meno, ma prova a togliere i meccanismi di caching:

    (Prima di spedire l'immagine):
    codice:
    ImageIO.setUseCache( false );

    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

  5. #5
    Grazie per la risposta ma purtroppo il problema continua a presentarsi.
    L'unica soluzione che mi viene in mente è chiudere il buffer, ma non posso per le specifiche.
    Come potrei fare altrimenti?

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.