IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

[Client/Serveur] Envoyer image sérialisée


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 139
    Par défaut [Client/Serveur] Envoyer image sérialisée
    Bonjour,


    j'essaie d'envoyer une image sérialisée depuis un Client vers un serveur multi-clients qui a comme rôle de stocker les images qu'on lui envoie.


    Code Client :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public void EnvoiPhoto(String path, String annot, Boolean visib) throws Exception{
     
                    chemin_p = path.substring(path.lastIndexOf("\\"));
                    chemin_p = chemin_p.substring(1,chemin_p.length());
     
                    FileInputStream photo = new FileInputStream(path);
                    byte[] octets = new byte[photo.available()];
     
                    Photo Ph=new Photo(octets,chemin_p,annot,visib);
                    ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
                    oos.writeObject(Ph);
                    oos.flush();
     
    		System.out.println("SOCKET "+socket);
    		System.out.println("image envoyee");
        }


    Code Serveur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
        //BufferedReader => in;
        //PrintWriter => out;
     
     
       public void run() {
            try {
              while (true) {                
                    if(nb>=20)
                        out.println("trop d'images, veuillez en supprimer");
                    else{
                            FileInputStream fichier=new FileInputStream("Ph.ser");
                            ObjectInputStream flux=new ObjectInputStream(socket.getInputStream());
                        try{
                            Photo photoClient = (Photo) flux.readObject();
                            System.out.println("Photo :"+photoClient.getAnnotation());
                            System.out.println("Mot clé :"+photoClient.getNom());                                
                        } catch (Exception ex) {
                            System.err.print("Erreur de reception");
                        }
                  }
              }
            } catch(IOException e) {
              System.err.println("IO Exception");
            } finally {
              try {
                socket.close();
                in.close();
                out.close();
              } catch(IOException e) {
                System.err.println("Socket not closed");
              }
            }
        }


    Client et Serveur possède tous les 2 la classe Photo qui permet de sérialiser l'image envoyée.
    Mais à chaque fois que je lance ça j'ai l'exception "Erreur de reception" (voici l'excption : GRAVE: null java.lang.ClassNotFoundException: projeti4b_client.Photo )

    Quelqu'un voit où est l'erreur ? (paramètre byte[] de la photo sérialisée?)

    Merci d'avance !

  2. #2
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    Bonjour,
    Citation Envoyé par VinceSSJ Voir le message
    Client et Serveur possède tous les 2 la classe Photo qui permet de sérialiser l'image envoyée.
    tu veux dire quoi exactement ?
    que tu as créé une classe Photo de chaque coté ?
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 139
    Par défaut
    Oui, mais le problème est maintenant résolu (j'ai bossé dur dessus!) et le programme fonctionne apparemment bien.
    Merci quand même !

Discussions similaires

  1. socket Client/serveur : envoyer message aux clients
    Par hishuma dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 29/07/2009, 22h26
  2. Réponses: 2
    Dernier message: 18/02/2009, 09h01
  3. [C#]envoi des images client/serveur
    Par DavidPAY dans le forum C#
    Réponses: 1
    Dernier message: 18/12/2007, 16h26
  4. client serveur d'image sous linux
    Par stacker_junior dans le forum Linux
    Réponses: 1
    Dernier message: 08/02/2006, 03h22
  5. transfert d'images client/serveur
    Par anarpunk dans le forum Web & réseau
    Réponses: 6
    Dernier message: 31/01/2006, 17h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo