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 :

Java : socket, octects perdus


Sujet :

Entrée/Sortie Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Points : 595
    Points
    595
    Par défaut Java : socket, octects perdus
    Bonjour,

    Lorsque je fais un envoi de fichier avec des sockets, j'obtiens seulement une fois sur deux voire trois, les octects correctement.
    Les autres fois, certains octects sont perdus, soit à l'envoi, soit à la réception.
    (je le sais car j'ai fait un test dans la boucle comptant le nombre d'octets recu du coté serveur et il différe de temps en temps de celui de la taille du fichier envoyé par le client).

    Mon code n'a rien de spécial.

    Voici la partie charnière du 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
     
    int bufferSize = 1000;
    int bytesRead;
    byte[] bytes = new byte[bufferSize];
     
    FileInputStream fileInput = new FileInputStream(
    new File(	"C:\\JavaEclipseWorkSpace.rar"));
     
    DataOutputStream output = new DataOutputStream(
    socket.getOutputStream());
     
    while ((bytesRead = fileInput.read(bytes)) != -1)
    {
               total = total + bytesRead;
    	output.write(bytes, 0, bytesRead);
     
    }
     
    System.out.println("Total " + total);

    Voici celle du 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
     
     
    int bytesRead;
    int bufferSize = 1000;
    byte[] bytes = new byte[bufferSize];
     
    int total = 0;
     
    DataInputStream input = new DataInputStream(incomingS.getInputStream());
     
    while (true)
    {
     
    bytesRead = input.read(bytes);
    if (bytesRead == -1)
    break;
    total = total + bytesRead;
    }
     
    System.out.println("Total " + total);
    Toute aide serait la bienvenue.
    Ils flottent tous en bas

  2. #2
    Membre expérimenté Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Points : 1 639
    Points
    1 639
    Par défaut
    Tu es sur que la connextion est bonne ?
    As-tu tester ce meme code sur une connection "sure"?

  3. #3
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1

Discussions similaires

  1. Cours réseau en Java (Socket, ...)
    Par millie dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 06/04/2009, 13h03
  2. hebergeur gratuit de java-socket-serveur ?
    Par oops! dans le forum Flash
    Réponses: 0
    Dernier message: 28/02/2008, 01h17
  3. Débutant Java, Sockets et observers
    Par nouknouk dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 19/12/2006, 14h01
  4. [Java][Socket] Pas de lecture de flux
    Par mavina dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 20/10/2006, 19h02

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