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 :

SocketChannel.write sur un socket fermé


Sujet :

Entrée/Sortie Java

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 22
    Par défaut SocketChannel.write sur un socket fermé
    Bonjour à tous !

    Pour ceux qui aurait un peu suivi, je suis de nouveau de retour, avec un autre problème.
    Lorsque j'utilise SocketChannel.write(ByteBuffer buf) sur un socket fermé (netstat me dit que le socket est dans l'état CLOSE_WAIT avec un buffer vide), la méthode n'échoue pas, et me renvoie le nombre d'octets envoyés, à savoir la taille du buffer.

    Sauf que...

    Les octets ne sont PAS envoyés, j'ai vérifié avec Wireshark, le serveur renvoie un paquet RST immédiatement.

    J'ai donc un socket, fermé par le serveur, et je tente d'envoyer des données. Je voudrais m'assurer que ces données ont bien été envoyées. Le seul moyen (crade) que j'ai trouvé pour l'instant, c'est de faire une lecture non bloquante, et de voir si la méthode me retourne -1, signifiant la fin de flux.

    J'ai la sensation de passer à côté de quelque chose, mais je ne comprends pas que la méthode write ne plante pas, alors que les octets ne sont pas envoyés au serveur, et que bien sûr, le SocketChannel est en mode bloquant.

  2. #2
    Membre Expert Avatar de Ivelios
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juillet 2008
    Messages
    1 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 031
    Par défaut
    Total HS :
    je ne comprends pas que la méthode write ne plante pas
    Tu en a de la chance, tu devrais jouer au loto.
    Moi en général je comprend pas pourquoi ça plante

Discussions similaires

  1. Sur un socket : send et recv ou read et write ?
    Par Médinoc dans le forum Réseau
    Réponses: 35
    Dernier message: 05/11/2009, 15h51
  2. Problème de write sur un socket
    Par theanthony33 dans le forum Réseau
    Réponses: 2
    Dernier message: 31/10/2009, 21h45
  3. [C]Proxy send sur un socket fermé par un RST
    Par pier* dans le forum Développement
    Réponses: 1
    Dernier message: 14/08/2006, 21h27
  4. write() dans une socket.. unix
    Par slack dans le forum Réseau
    Réponses: 5
    Dernier message: 18/12/2002, 20h42

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