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] probleme d'ecriture ?


Sujet :

Entrée/Sortie Java

  1. #1
    Membre averti Avatar de piff62
    Inscrit en
    Décembre 2003
    Messages
    431
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2003
    Messages : 431
    Points : 417
    Points
    417
    Par défaut [Socket] probleme d'ecriture ?
    Bonjour,
    dans le cadre d'un TP je dois realiser un client/serveur FTP tres tres leger (seulement quelques commande).
    Il ne me reste plus que les 2 difficiles (STOR envois de fichier et RETR telechargement de fichier)
    Pour les echanges de commande ou reponse j'utilise tout le long des bufferedReader ou BufferedWriter.
    Pour les transferts de fichiers, je veux juste utiliser les InputStream et OutputStream puisque ces derniers ne sont pas forcement des fichiers texte.

    Apparement j'arrive a ecrire les donnees sur la socket coté serveur, mais mon read reste bloquant lorsque j'essais de lire sur la socket, meme avec la methode flush() pour forcer l'envois des donnees.

    Voici d'abord le code pour l'ecriture du fichier sur la socket :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    	        FileInputStream fis = new FileInputStream(f); /* pour lire le fichier */
    		byte[] buffer = new byte[10]; /*buffer dans lequel je met ce que j'ai a lire*/
    		int nb;
    		while( (nb=fis.read(buffer)) != -1 ) /*tant que je ne suis pas a la fin de fichier je lit*/
    		    {
    			s.getOutputStream().write(buffer,0,nb); /*enfin j'ecrit sur la socket */
    		    }
    		fis.close(); /*je ferme le FILE*/
    		s.getOutputStream().flush(); /* je force l'envois du flux*/
    Voici maintenant le code pour lire le fichier sur la socket:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    	        FileOutputStream fos = new FileOutputStream(f); /* file dans lequel j'ecris ce que j'ai lu*/
    		long i=0;
    		byte[] b = new byte[10]; /*buffer de lecture */
    		while(i < taille) /*taille contient la taille en byte du fichier */
    		    {
    			is.read(b); /* JE RESTE BLOQUE LA, c'est comme ci y'avais rien a lire :(*/
    			i += b.length;
    			fos.write(b,0,b.length); /* j'ecris dans le fichier*/
                        }
    quelqu'un vois t'il une erreur?
    je suis perdu

    [EDIT] c'est bon j'ai trouve

  2. #2
    Membre actif
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2002
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 192
    Points : 252
    Points
    252
    Par défaut
    Citation Envoyé par piff62
    c'est bon j'ai trouve
    Ben quand c'est comme ça tu peux aussi mettre ce qui a corrigé ton erreur, d'où elle venait ... Ca permet à d'autres, qui peuvent comme toi se retrouver bloqués, d'avancer et de trouver des solutions.

    Matthieu

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

Discussions similaires

  1. probleme lecture/ecriture socket
    Par joubiyann dans le forum C#
    Réponses: 1
    Dernier message: 31/03/2009, 09h56
  2. [C#] Probleme d'écriture dans un fichier XML
    Par Joad dans le forum ASP.NET
    Réponses: 5
    Dernier message: 02/05/2005, 16h19
  3. probleme d'ecriture dans un fichier texte
    Par azrael88370 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/01/2005, 17h33
  4. Probleme d'ecriture dans un fichier en mode Text
    Par bbozet dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/01/2004, 13h46
  5. Réponses: 13
    Dernier message: 14/06/2003, 22h15

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