Exemple de code sur le processus de travail spécifique de Nio
Jul 03, 2017 am 11:20 AM1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
Le code ci-dessus est un exemple de code tiré du livre sur le processus de travail spécifique de Nio. Son processus de fonctionnement peut être décrit en détail comme suit :
Il existe deux classes clés : Canal et sélecteur , ce sont des concepts fondamentaux dans NIO. Le canal peut être comparé à un moyen de transport, et il s'agit d'un moyen de transport spécifique, comme les voitures et les vélos. Le Selector peut être comparé à un système de répartition de véhicules, chargé de surveiller les conditions de fonctionnement des véhicules et les travaux de répartition spécifiques.
La classe serverSocketChannel est un canal optionnel pour les sockets d'écoute orientées flux. Après avoir créé une telle instance côté serveur, utilisez la méthode Socket() (récupérez les informations associées à ce canal). Server Socket) renvoie une instance de la classe ServerSocket et utilise la méthode void bind(SocketAddress endpoint) de cette instance pour lier ServerSocket
à une adresse spécifique (adresse IP et numéro de port). Tout comme chaque taxi d'une compagnie de taxi doit être enregistré auprès de l'entreprise, nous devons également enregistrer l'instance ServerSocketChannel auprès du sélecteur spécifié via la méthode register().
Appelez ensuite la méthode selectedKeys de Selector pour vérifier si tous les canaux de communication enregistrés sur ce sélecteur ont les événements requis. Si un événement se produit, tous les événements seront renvoyés SelectionKey, depuis la clé. .readyOps() obtient l'ensemble d'opérations prêt de cette clé, je pense personnellement que key.readyOps()&SelectionKey.OP_ACCEPT signifie que l'ensemble d'opérations prêt de cette clé est dans l'état ACCEPT, c'est-à-dire le Le serveur est dans l'état d'écoute, l'objet canal de communication peut être obtenu via la méthode Channel de cet objet, puis la méthode accept() est appelée pour renvoyer un canal socket, qui est par défaut dans un état de blocage. Vous pouvez également utiliser la communication. objet canal obtenu par la méthode Channel pour lire les données de communication, et Les données lues ici sont Buffer, et ce Buffer est un tampon que nous pouvons contrôler.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Analyse des responsabilités de l'ingénieur front-end : quel est le travail principal ?

À quels emplois puis-je postuler en 2023 avec mes compétences Java ?

ChatGPT et d'autres ne prendront pas en charge le travail humain de si tôt. Ils sont sujets aux erreurs et l'IA ne fonctionnera pas gratuitement.

Quel genre de travail pouvez-vous obtenir en apprenant Java ?

Quels emplois pouvez-vous obtenir en apprenant Java ?

Quelles sont les méthodes de traitement du temps en langage Go ?

Quel type de travail puis-je effectuer à l'avenir en utilisant le langage C ?

Comment fonctionne le cache Hibernate de deuxième niveau ?
