Socket java client

[Fermé]
Signaler
Messages postés
67
Date d'inscription
mardi 8 mai 2012
Statut
Membre
Dernière intervention
18 mai 2012
-
Messages postés
50798
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
30 janvier 2021
-
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

Messages postés
50798
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
30 janvier 2021
7 333
Bonjour,

Ne serait-ce pas un doublon ou, au moins, la suite de ceci :
https://forums.commentcamarche.net/forum/affich-25141613-socket-java-client-serveur ?
Messages postés
67
Date d'inscription
mardi 8 mai 2012
Statut
Membre
Dernière intervention
18 mai 2012

bonjour chris oui c'est moi parceque j'ai trouvé que c'était plein de message c'est pour ça merci.
Messages postés
50798
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
30 janvier 2021
7 333
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.