Socket java client

Bonjour, j'ai un probléme avec le serveur ça marche trés bien avec un seul client , mais quand il ya un nouveau client qui s'ajoute ça marche plus merci pour votre réponse voici le code.

Serveur


public class Serveur
    implements Runnable
{

    ServerSocket server;
    Socket connection;
    DataOutputStream output;
    BufferedInputStream bis;
    BufferedOutputStream bos;
    byte receivedData[];
    int in;
    String file;
    String file1;
    String file2;



    public Servidor()
    {
        connection = null;
        try
        {
            server = new ServerSocket(1234);
            System.out.println("serveur");
        }
        catch(Exception e)
        {
            System.out.println((new StringBuilder("erreur serveurn")).append(e).toString());
            System.exit(1);
        }
    }

    public void run()
    {
        Socket client = null;
        do
        {
            do
            {
                if(server == null)
                {
                    return;
                }
                try
                {
                    client = server.accept();
                    System.out.println("nouveau client");
                }
                catch(IOException e)
                {
                    System.err.println((new StringBuilder("connexion impossible")).append(e.getMessage()).toString());
                }
            } while(server == null);
            try
            {
                InputStream in = client.getInputStream();
                DataInputStream dis = new DataInputStream(client.getInputStream());
                file = dis.readUTF();
                file1 = dis.readUTF();
                file2=dis.readUTF();
                int i=dis.readInt();
                if(i==1)
                { 

          	     File directorio = new File("c:\\dossier\\"+file1+"\\"+file2+"\\"); 
                directorio.mkdir();
                }
                if(file != null)
                {
                	  bos = new BufferedOutputStream(new FileOutputStream("C:\\dossier\\"+file1+"\\"+file2+"\\"+ file));
                    byte buf[] = new byte[1024];
                    int len;
                    while((len = in.read(buf)) > 0) 
                    {
                        bos.write(buf, 0, len);
                    }
                    in.close();
                    bos.close();
                }
            }
            catch(IOException e)
            {
                System.out.println((new StringBuilder("Error: ")).append(e).toString());
            }
        } while(true);
    }

    public static void main(String a[])
    {
        Servidor servidor = new Servidor();
        (new Thread(servidor)).start();
    }
}



Merci beaucoups.

3 réponses

  1. Modérateur
    Il n'y a pas de raison de changer, les PC ont fait des progrès considérables et doivent savoir gérer des pages de grande taille ;-)

    Et puis, c'est plus sympa pour le bénévole qui t'a accompagné jusque là et risque de perdre le fil.
    1. bonjour chris oui c'est moi parceque j'ai trouvé que c'était plein de message c'est pour ça merci.