Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15
  1. #11
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Dato che non c'è tutto il codice ( e date le dimensioni non ti chiedo neppur di postarlo ), ti consiglio a lato client di provare a stampare a video quelle che ti arriva ( quello che poi vai a scriverte ).
    Probabilmente dovrai anche filtrare i dati che ti arrivano, in quanto anche i nomi dei file li mandi come testo, senza dichiarare una fine del tuo file ( infatti il while finchè != -1 non è la fine del fine, ma finchè su quel Stream non ci sono più dati. )
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  2. #12
    e come faccio a distinguere quando un file è stato completato, e bisogna ricevere un altro file, con un altro nome?

    questa è la parte client della ricezione dei file
    codice:
    // Ora ricevo ciascun file
    		   for(int i=0; i<numFiles; i++) 
    		   {
    		      // Ricevo dal server la dimensione del file
    		      int dimFile = receiveFromServer("dimFile", s);
    		      System.out.println("DIM FILE RICEVUTO: "+dimFile);
    		      
    		      BufferedInputStream in = new BufferedInputStream(s.getInputStream());
    		      DataInputStream dataIn = new DataInputStream(s.getInputStream());
    		      String fileReceived = dataIn.readUTF();
    		      System.out.println("NOME FILE RICEVUTO: "+fileReceived);
    		      FileOutputStream out = new FileOutputStream( new File("c:\\filericevuti\\"+fileReceived));
    		      
    		      // Ricevo, a pacchetti di 4096 byte (4 KB), tutto il file
    		      	byte[] dati = new byte[4096];
    		      	int letti;
    				  
    				while( (letti = in.read( dati )) != -1 ) 
    				{
    				   try 
    				   {
    				        out.write( dati , 0 , letti );
    				   } 
    				   catch( IOException e ) 
    				   {
    					   e.printStackTrace();
    				   }
    				}
    				out.close();
    				System.out.println( "Ricezione completata dal server "+server_id+"!" );
    		   }

  3. #13
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Forse non ci siamo capiti perchè mi sarò espresso male io.
    Allora, nel ciclo di lettura devi mettere un System.out.println( "Letto:"+dati );
    e guardi cosa ti viene spedito.
    Poi non serve più che posti il codice per intero.
    Posta solamente eventuali modifiche ed errori....altrimenti diventa un 3d kilometrico
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  4. #14
    ok, mi faccio stampare dal client il valore della variabile "letti",

    e mi vengono stampati 4 valori numerici.

    cosa significa?


    il server invece invia soltanto il valore 17, che è la dimensione del primo file.

    non ci sto capendo più niente.

  5. #15
    tutto risoltoooooo

    ho utilizzato questa struttura...
    http://www.adp-gmbh.ch/blog/2004/november/15.html

    ho dovuto riadattare un pò di cose, ma alla fine ce l'ho fatta.


    grazie cmq ragazzi.

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