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 :

Envoyer un Caractère null à travers une socket


Sujet :

Entrée/Sortie Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 351
    Points : 432
    Points
    432
    Par défaut Envoyer un Caractère null à travers une socket
    Voila j'ai crée un petit daemon en java pour répondre à une requête du lecteur flash player concernant la sécurité. Je dois renvoyé le contenu du fichier xml suivi du caractère null.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ...
    //pour lire le fichier
    while ((line = buff.readLine()) != null) {
                    filePolicy.append(line);
    }
    ...
    //pour envoyer la réponse
    os = socket.getOutputStream();
    os.write(filePolicy.toString().getBytes("UTF-8"));
    os.write(0)
    os.flush();
    os.write(0) c'est bien censé envoyer un caratère null et pas le chiffre 0 ?

    Apparement flash n'aime pas ma réponse , je reçois bien la requête mais même aprés l'envoi du fichier ca lève toujours une exception sandbox .
    Je suppose que cela vient du caractère null attendu car le fichier xml correspond à ce qui est donné en exemple sur le site d'adobe.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    oui ca envoie bien l'octet 0.

    Es-tu sur que le client (flash) attende ce byte 0 et qu'il ne s'attends pas plutot à ce que tu ferme la socket quand l'envoi est terminé?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 351
    Points : 432
    Points
    432
    Par défaut
    Merci pour ta réponse.

    En fait le problème venait de la manière dont je lisais sur la socket.

    Avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    is = socket.getInputStream();
    os = socket.getOutputStream();
    BufferedReader buf = new BufferedReader(new InputStreamReader(is));
    String message = buf.readLine();
    Aprés:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    is = socket.getInputStream();
    os = socket.getOutputStream();
    BufferedReader buf = new BufferedReader(new InputStreamReader(is));
    char[] tmp = new char[128];
    int length = buf.read(tmp);
    String message = new String(tmp,0,length-1);
    Mais bon je comprend pas trop mon erreur ... Si tu pouvais m'expliquer ça serait cool .
    Ah oui dans les 2 cas le code étais dans un try catch finally , et dans le finally je fermais la socket.
    Et sinon donc aucun rapport avec le caractère null qui n'étais pas obliagtoire et ne sert a rien pour envoyer le fichier...

    Sinon Le message envoyé par flash player étais ceci:<policy-file-request/> suivi du caractène null.

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

Discussions similaires

  1. Envoyer une Image a travers une socket, par paquet
    Par gibsonSG_76 dans le forum Débuter
    Réponses: 4
    Dernier message: 30/05/2012, 13h27
  2. Réponses: 5
    Dernier message: 04/03/2009, 16h07
  3. Réponses: 3
    Dernier message: 19/02/2007, 15h07
  4. Dialoguer à travers une socket
    Par YuGiOhJCJ dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 31/12/2006, 22h16
  5. [Tableaux] Envoyer de l'hexa via une socket PHP
    Par N3odyme dans le forum Langage
    Réponses: 2
    Dernier message: 06/05/2006, 19h34

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