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

    [JAVA] -Socket- server in un client

    Ciao ragazzi sto facendo un progetto per l'esame di maturità di quest'anno.E' un peer to peer per trasferire dei files e praticamente è completato apparte il fatto che mi manca la parte piu importante, trasferire i files :berto:
    Ho deciso di usare una porta per far comunicare i client con il server che gestisce gli utenti connessi e i files presenti (tramite un database fatto con access) dopodiche quando un client vuole un certo file fa la classica ricerca e il server gli fornisce i risultati di chi ha quel file. L'utente sceglie quale vuole scaricare e il server gli invia l'ip di questa persona in modo che il client puo fare una connessione diretta su un'altra porta con il client che ha il file. Ogni client avrà quindi un server implementato per poter gestire le richieste di files da parte di altri client, ma mentre un client effettua una richiesta mi esce questo spiacevole messaggio che appare durante il runtime per mezzo del metodo per stampare le eccezioni
    codice:
    printStackTrace()
    mi sapreste dire qual'è il problema?


    127.0.0.1
    /127.0.0.1 requests fileEccezione durante l'invio
    java.io.EOFException
    at java.io.ObjectInputStream$PeekInputStream.readFull y(ObjectInputStream
    .java:2228)
    at java.io.ObjectInputStream$BlockDataInputStream.rea dShort(ObjectInputS
    tream.java:2694)
    at java.io.ObjectInputStream.readStreamHeader(ObjectI nputStream.java:761
    )
    at java.io.ObjectInputStream.<init>(ObjectInputStream .java:277)
    at client$ClientServerPart.run(client.java:455)
    at java.lang.Thread.run(Thread.java:595)


    Vi posto anche un po di codice cosi mi sapete dire meglio

    class ClientServerPart implements Runnable{
    private ObjectInputStream InFlux;
    private ObjectOutputStream OutFlux;
    FileInputStream InFile;
    private Socket sock;

    ClientServerPart(Socket socket){
    try{
    OutFlux=new ObjectOutputStream(socket.getOutputStream());
    InFlux=new ObjectInputStream(socket.getInputStream());
    sock=socket;
    }catch(Exception e){e.printStackTrace();};
    }

    public void run(){
    try{
    if(numUpload<maxUpload){
    OutFlux=new ObjectOutputStream(sock.getOutputStream());
    InFlux=new ObjectInputStream(sock.getInputStream());
    numUpload++;
    OutFlux.writeObject(new Integer(Costanti.OK));
    OutFlux.flush();
    String filename=(String)InFlux.readObject();
    int byteRicevuto;
    InFile=new FileInputStream(Costanti.FOLDER+filename);
    while ((byteRicevuto=InFile.read())!=-1){
    OutFlux.write(byteRicevuto);
    OutFlux.flush();
    }
    }
    else{
    OutFlux.writeObject(Costanti.ABORTED);
    OutFlux.flush();
    }
    OutFlux.close();InFlux.close();

    }catch(Exception e){System.out.println("Eccezione durante l'invio");e.printStackTrace();};

    }
    }

    Scusate per l'indentazione ma postando avevo problemi...vi ringrazio in anticipo un saluto!
    Alessio_Programmer

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462

    Re: [JAVA] -Socket- server in un client

    Mi sa che devi postare nel forum riservato a Java ... per l'indentazione usa i Tag CODE (tasto #) ...

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Moderazione

    In genere, le discussioni le spostiamo, senza che sia necessario aprirne una nuova.
    Comunque, chiudo.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.