Socket java client

Fermé
valour1234 Messages postés 67 Date d'inscription mardi 8 mai 2012 Statut Membre Dernière intervention 18 mai 2012 - 12 mai 2012 à 12:58
Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 - 12 mai 2012 à 17:01
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

Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 325
Modifié par Chris 94 le 12/05/2012 à 16:54
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 ?
0
valour1234 Messages postés 67 Date d'inscription mardi 8 mai 2012 Statut Membre Dernière intervention 18 mai 2012
12 mai 2012 à 16:59
bonjour chris oui c'est moi parceque j'ai trouvé que c'était plein de message c'est pour ça merci.
0
Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 325
12 mai 2012 à 17:01
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.
0