Maison >interface Web >Questions et réponses frontales >Comment utiliser ws pour développer nodejs
Avec le développement continu de Node.js, les Websockets sont devenus un moyen populaire d'établir une communication bidirectionnelle en temps réel dans Node.js. Cet article explique comment utiliser le module ws pour créer des applications dotées de capacités de communication en temps réel dans Node.js.
1. Que sont les Websockets ?
Websockets est une technologie qui prend en charge la communication bidirectionnelle en temps réel. Comparé au protocole HTTP, qui ne peut effectuer que des requêtes unidirectionnelles, les Websockets peuvent établir un canal de communication bidirectionnel, qui permet au client et au serveur de transmettre des données en temps réel sans que le client ait besoin d'initier continuellement des requêtes au serveur. , économie HTTP Le protocole génère une grande quantité de bande passante réseau en raison des interrogations.
2. Introduction au module ws
Le module ws est un module de Node.js utilisé pour implémenter Websockets, et c'est également une méthode d'implémentation populaire. Son API est extrêmement simple et ne comporte aucune dépendance externe, ce qui la rend facile à utiliser. Ce qui suit présentera comment utiliser le module ws pour implémenter une salle de discussion simple.
3. Initialisez un nouveau projet Node.js
Tout d'abord, installez la dernière version de Node.js sur votre système. Après avoir terminé l'installation, ouvrez votre terminal et accédez au répertoire dans lequel vous souhaitez créer le projet, entrez la commande suivante :
mkdir ws_demo && cd ws_demo && npm init
mkdir ws_demo && cd ws_demo && npm init
然后按照提示一步一步地配置你的项目。
四、安装和引用ws模块
在项目的目录中使用以下命令,安装ws模块:
npm install ws
现在在你的server.js文件中引入ws模块:
const WebSocket = require('ws');
npm install ws
Introduisez maintenant le module ws dans votre serveur.js Documentation:
const WebSocket = require('ws');
5. Créer un serveur websocketsPour créer un serveur websockets, vous devez écouter les demandes de connexion entrantes sur un certain port du serveur. Dans Node.js, utilisez le code suivant pour créer un serveur Websocket :
const wss = new WebSocket.Server({ port: 8080 }); wss.on('connection', (ws) => { console.log('Client connected'); });Ce code créera un serveur Websocket sur le port 8080. Lorsqu'un nouveau client se connecte avec succès au serveur, le serveur imprime un message « Client connecté ». 6. Message de diffusion côté serveurMaintenant, nous avons créé un serveur WebSocket et pouvons recevoir des connexions client. Mais cela a peu d’effet pratique. Essayons d'y ajouter de vraies fonctionnalités. Nous pouvons laisser le serveur diffuser certains messages, qui seront reçus par tous les clients connectés au serveur. Ajoutez le code suivant dans la méthode wss.on() :
wss.on('connection', (ws) => { console.log('Client connected'); ws.on('message', (message) => { console.log(`Received message => ${message}`) wss.clients.forEach((client) => { if (client.readyState === WebSocket.OPEN) { client.send(`Broadcast message => ${message}`); } }); }); });Ce code ajoute un écouteur d'événement lorsque la connexion client est réussie. Lorsqu'un nouveau message arrive, le serveur l'enregistre dans le journal et parcourt tous les clients actuellement connectés à l'aide de wss.clients.forEach(), diffusant le message à tous les clients lorsqu'il est disponible. 7. Tests🎜🎜Maintenant, toutes les étapes d'installation du module ws et de développement du code côté serveur sont terminées. Il vous suffit d'utiliser le client pour le tester. À l’aide d’un client Websocket, de nombreuses extensions de navigateur et outils de ligne de commande sont disponibles. Utilisez votre outil préféré pour vous connecter à wss://localhost:8080. Vous verrez un message de connexion réussie et l'extension de votre navigateur affichera le message au-dessus du message diffusé depuis le serveur. 🎜🎜Résumé🎜🎜Dans cet article, nous avons présenté comment utiliser le module ws pour développer des services Websockets basés sur Node.js. 🎜🎜À mesure que Websockets continue de se développer et de s'étendre, il devient de plus en plus important dans le développement Web, notamment dans la communication en temps réel, comme les applications de chat, les jeux en ligne, etc. Désormais, avec seulement quelques lignes de code, vous pouvez implémenter une simple salle de discussion dans Node.js. 🎜🎜Bien que cet article ne présente qu'une partie des fonctions du module ws, je pense que les étudiants peuvent acquérir des connaissances sur le développement d'une communication en temps réel basée sur Node.js et maîtriser certaines compétences et expériences, qui peuvent servir de référence pour l'avenir. travailler et étudier. 🎜
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!