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 :

[Socket]Transfert de fichier


Sujet :

Entrée/Sortie Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2002
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 44
    Points : 31
    Points
    31
    Par défaut [Socket]Transfert de fichier
    Salut,
    Je cherche a transferer des fichiers d'un poste serveur vers un poste client en utilisant les socket en mode connecté(TCP), mais je ne sais pas comment m'y prendre, je suis parvenu a faire passer un message d'un poste a un autre mais pour le transfert de fichier je ne sais d'ou commencer
    Est ce que vous pouvez m'eclairer sur le sujet et un petit exemple commenté ne serait pas de refus et merci bcp.

  2. #2
    Nouveau membre du Club
    Inscrit en
    Juillet 2002
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 44
    Points : 31
    Points
    31
    Par défaut
    Aucune reponse.
    Ca n'inspire personne ce sujet?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Ou est le pb, tu envoie bien un tableau de bytes de ton messagepar la connection non ?
    ben tu fait pareil mais avec le tableau de bytes du fichier en faisant un import de java.io.*;
    tu fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    File filetoread = new File("Nom du fichier");
    RandomAccessFile lecture = new RandomAccessFile(filetoread,"r");
    byte[] file_b = new byte[(int)lecture.length()];
    for(int i = 0 ; i < lecture.length() ; i++) {
        file_b[i] = lecture.readByte();
    }
    La ou forsaken passe les progz trépasse

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 28
    Points : 33
    Points
    33
    Par défaut
    Salut,
    et bin tu peux ouvrir une socket client et une autre serveur sur les deux poste. puis t'obtient l'outputream des sockets et bin dans ce cas tu peux ecrire ton fichier sur l'une des socket et le lire sur l'autre.
    c'est facile hein.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Au total ca donne un truc du genre :

    Partie 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
     
    ServerSocket serveur;
    Socket connection;
    ObjectInputStream in;
    ObjectOutputStream out;
    try {
      File tosend = new File("nom du fichier","r");
      serveur = new ServerSocket(5000,1); //Crée le serveur avec un port a 5000 et une seule connection acceptée
      connexion = serveur.accept();
      //Aquisition des flux
      out = new ObjectOutputStream(connexion.getOutputStream());
      in = new ObjectOutputStream(connexion.getInputStream());
      out.flush();
      out.writeObject(tosend);
      out.flush();
      do {
        try {
          String message = (String)in.readObject();
        } catch(ClassNotFoundException cnfex) {}
      } while(!message.equals("END"));
      out.close();
      in.close();
      connexion.close();
    } catch(EOFException eof) {
    } catch(IOException io) {
    }
    Coté 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
    17
    18
    19
    20
    21
     
    Socket client;
    ObjectInputStream in;
    ObjectOutputStream out;
    File f;
    try {
      client = new Socket(InetAddress.getByName("ip du serveur"),5000);
      out = new ObjectOutputStream(client.getOutputStream());
      in = new ObjectOutputStream(client.getInputStream());
      out.flush();
      try {
        f = (File)in.readObject();
      } catch(ClassNotFoundException cnfex) {}
      out.writeObject("END");
      out.flush();
      in.close();
      out.close();
      client.close();
    } catch(EOFException eof) {
    } catch(IOException io) {
    }
    La ou forsaken passe les progz trépasse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/12/2008, 23h42
  2. [socket] Transfert de fichier, Bug d'envoi des BYTE
    Par mnemonic78 dans le forum C#
    Réponses: 1
    Dernier message: 14/06/2008, 18h22
  3. Socket: transfert de fichiers
    Par timtima dans le forum Réseau
    Réponses: 5
    Dernier message: 28/11/2007, 12h54
  4. [Sockets] transfert de fichier client/serveur
    Par alex6891 dans le forum Développement
    Réponses: 6
    Dernier message: 20/03/2006, 16h14
  5. [Socket]Transfert données + fichier
    Par willowII dans le forum Entrée/Sortie
    Réponses: 14
    Dernier message: 17/08/2005, 23h08

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