Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JAVA] envoyer fichier

réseaux local

Sujet résolu
    20 septembre 2006 à 23:05:22

    Bonjour, j'aimerais savoir comment faire avec java pour envoyer des fichiers d'une machine A à C ?
    en faite, je suis en train de faire un tchat. Quand la machine A envoye un message, il passe par B le serveur et B envoye le message a tout le monde sur le réseaux.
    Ce que j'aimerais faire maintenant c'est un échange de fichier entre 2 poste.

    Comment faire ?
    • Partager sur Facebook
    • Partager sur Twitter
      20 septembre 2006 à 23:06:31

      bah .. un socket entre les 2 postes ? -_-
      • Partager sur Facebook
      • Partager sur Twitter
        20 septembre 2006 à 23:16:34

        oui mais comment tu fait pour balancer le fichier unr fois le ServerSocket ouvert et les deux personne connecté sur le serveur
        • Partager sur Facebook
        • Partager sur Twitter
          20 septembre 2006 à 23:34:38

          tu dit au serveur de recupere l'ip de chaqun et de la communiquer a l'autre , et tu fait un socket avec ca
          • Partager sur Facebook
          • Partager sur Twitter
            21 septembre 2006 à 8:20:46

            je suis largé là. j'arriver a communiquer entre les deux PC pas de problème quand j'écris un message, je le voie chez l'autre. mais là je parle de fichier à envoyer. si je les balances sur la sortie, le flux du fichier va s'afficher à l'écran de mon interlocuteur. je ne veux pas celà moi.
            • Partager sur Facebook
            • Partager sur Twitter
              21 septembre 2006 à 9:09:48

              tu crées une classe Objecttosend implements serializable
              tu peus avec ca faire un bytecode de ton objet, l'envoyer et de l'autre coté le reconstruire

              va voir du coté de l'interface serializable dans la java doc
              • Partager sur Facebook
              • Partager sur Twitter
                18 octobre 2006 à 8:07:24

                a toi te te faire ton propre protocole ;)

                Pour l'envoie de message tu envoie un certain bit avant et après le message.
                pour l'envoie de fichier tu envoies un autre bit spécial ou combinaison de bits avant et a la fin du fichier.

                Le mieux etant de faire un systeme du style

                en sortie :
                size:(la taille du fichier);file_name:(le nom du fichier);(debut de l'envoi bit par bit;
                coté client il s'arrete après (size) bits lus.

                • Partager sur Facebook
                • Partager sur Twitter
                  18 octobre 2006 à 16:07:45

                  Le mieu, ca reste de créer un deuxième socket chez les client, et d'utiliser les flux d'entrée/sortie de ce socket uniquement pour l'envois et la récéption de fichier.

                  Pourquoi ?

                  Car, si le fichier est très gros, il prendra du temps avant d'être complètement transféré. Et pendant tout le temps du transfert, les flux ne seront utilisé que pour le transfert de fichier. En gros, le client ne pourra plus envoyer ou reçevoir de message tant que le fichier n'est pas entièrement reçus.

                  En créeant un autre socket (et donc d'autres flux d'entrée sortie) tu ne mopolisera pas les flux dédiés à l'échange de messages.
                  • Partager sur Facebook
                  • Partager sur Twitter

                  [JAVA] envoyer fichier

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown