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 :

[reseau ] java.nio.channels


Sujet :

Entrée/Sortie Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut [reseau ] java.nio.channels
    salut tout le monde,

    je suis entrain de programmer un serveur en utilisant "ServerSocketChannel" de la class java.nio.channels.* et cela pour eviter d'utiliser plusieurs thread.

    mais avant d'ouvrir le canal de transmission il faut creer une instance de la classe Selector .

    ma question est :

    quelle est le rolle de "Selector" , est ce qu' il intercepte les differants connections pour les sauvegarder , ou quoi?

    pouvez vous m'eclairsir le rolle de "Selector".

    merci d'avance pour la reponse.

  2. #2
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Hello,

    le Selector, c'est un objet qui permet de sélectionner tous les canaux prêt pour les opérations que l'on a réclamées auparavant (en utilisant "maSelectionKey.interestOps")

    Si on réclame une opération de lecture sur un canal, le sélector va s'occuper de nous indiquer lorsque cette opération de lecture pourra être effectuée de manière non bloquante (lorsqu'il y aura des bytes à lire dans le buffer de la socket)


  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    merci Pill_S pour la reponse


    mais je voudrais savoir le contenu de Keys

    "Set keys = selector.selectedKeys();"

    est ce qu'il contient les different cannaux de connection ou koi?


    merci de la reponse

  4. #4
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    "selectedKeys" indique quelles sont les SelectionKey qui sont "activées", c'est-à-dire qui sont prêtes pour l'une des opérations (connexion/acceptation/lecture/écriture)... Avec chaque SelectionKey, tu pourras ensuite récupérer un SocketChannel en faisant "maSelectionKey.channel()", qui te permettra ensuite de lire ou d'écrire dedans...

  5. #5
    Futur Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    merci pour l'aide

    je commence a comprendre le fonctionnement de cette api.

Discussions similaires

  1. java.nio : utilisation des Channel
    Par jan0 dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 23/05/2016, 13h45
  2. PB socket java.nio.channels.Selector
    Par bobolebrikiller dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 18/05/2010, 07h47
  3. java.nio : Channel
    Par kdick dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 27/06/2007, 11h47
  4. Réponses: 3
    Dernier message: 20/10/2006, 19h50
  5. Réponses: 3
    Dernier message: 22/11/2005, 19h23

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