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 :

[NIO][Selector]Probléme d'écoute et processus 100%


Sujet :

Entrée/Sortie Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut [NIO][Selector]Probléme d'écoute et processus 100%
    Bonjour à tous, je code actuellement un petit serveur, afin de tester java.nio.
    Mais je rencontre le probleme suivant:

    Je crée un selector ,qui est mon seul et unique selector.
    Dans un boucle infinie, je teste l'etat de mon selector, avec la methode select().
    J'ai donc sa:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while(true){
      int num= selector.select();
      ...................
      System.out.println(num);
    }
    Or au debut tant qu'il n'y a pas de connection au serveur ,celui ci est en ecoute de tout evenement.(ce qui me convient), et on est bloque sur
    int num= selector.select();
    Mais apres la premiere connection, num renvoie 1 tout le temps, meme si il n'y a plus d'evenement.

    j'aimerai donc savoir comment recuperer les nouveaux etat de mon selector.Que mon selector e se declenche que si il y a une nouvelle connectin ou un evenement d'une ancienne connection.

    Les connections ne doivent jamais s'arreter(car sa sera pour un chat)

    Merçi de vos réponse

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    re tlm,
    Bon j'ai trouvé ce qui n'allais pas.
    C'estait du à cette ligne, qui est contenu dans la méthode des nouvelles connections.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SelectionKey newUserKey = user_sc.register(selector,SelectionKey.OP_READ|SelectionKey.OP_WRITE);
    Il faut écrire plutot:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SelectionKey newUserKey = user_sc.register(selector,SelectionKey.OP_READ);
    Donc j'aurrai aimé savoir que sinifie "SelectionKey.OP_WRITE", pourquoi mon selector ne s'arreter jamais.
    J'attend vos réponse pour pouvoir mettre le tag

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Vu le peu de personne capable de répondre, je vais tenter d'expliquer.
    Il semble que correpond à un evenement d'écriture, par conséquant le serveur hote étant toujours disponible à l'écriture, le selector est à chaque fois déclencher, méme si il n'y à rien à écrire.
    D'ou la boucle infinie, et donc le processus à 100%.

    J'éspere que sa va aider quelqun.Si c'est faux n'hésiter surtout pas à me corriger.

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

Discussions similaires

  1. problème background-repeat et height=100%
    Par valche5 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 03/08/2007, 23h21
  2. problème pour Killer un processus windows
    Par arnofly dans le forum VB.NET
    Réponses: 4
    Dernier message: 19/07/2007, 13h45
  3. problème de cout
    Par johnnyjohnny dans le forum SL & STL
    Réponses: 16
    Dernier message: 12/07/2007, 13h17
  4. Réseau : problème d'écoute
    Par TheShade dans le forum C++
    Réponses: 17
    Dernier message: 17/02/2007, 01h26
  5. Problème d'écoute avec un CommandListener
    Par sylsau dans le forum Java ME
    Réponses: 1
    Dernier message: 28/10/2006, 22h24

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