Maison interface Web Questions et réponses frontales Comment utiliser ws pour développer nodejs

Comment utiliser ws pour développer nodejs

Apr 05, 2023 pm 01:50 PM

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 initmkdir ws_demo && cd ws_demo && npm init

然后按照提示一步一步地配置你的项目。

四、安装和引用ws模块

在项目的目录中使用以下命令,安装ws模块:

npm install ws

现在在你的server.js文件中引入ws模块:

const WebSocket = require('ws');

Suivez ensuite les instructions pour configurez étape par étape votre projet.

4. Installez et référencez le module ws

Utilisez la commande suivante dans le répertoire du projet pour installer le module ws :

npm install ws

Introduisez maintenant le module ws dans votre serveur.js Documentation:

const WebSocket = require('ws');

5. Créer un serveur websockets

Pour 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');
});
Copier après la connexion
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é serveur

Maintenant, 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}`);
      }
    });
  });
});
Copier après la connexion
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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Le rôle de React dans HTML: Amélioration de l'expérience utilisateur Le rôle de React dans HTML: Amélioration de l'expérience utilisateur Apr 09, 2025 am 12:11 AM

React combine JSX et HTML pour améliorer l'expérience utilisateur. 1) JSX incorpore du HTML pour rendre le développement plus intuitif. 2) Le mécanisme DOM virtuel optimise les performances et réduit les opérations DOM. 3) Interface utilisateur de gestion basée sur les composants pour améliorer la maintenabilité. 4) La gestion des états et le traitement des événements améliorent l'interactivité.

Quelles sont les limites du système de réactivité de Vue 2 en ce qui concerne les changements de tableau et d'objets? Quelles sont les limites du système de réactivité de Vue 2 en ce qui concerne les changements de tableau et d'objets? Mar 25, 2025 pm 02:07 PM

Le système de réactivité de Vue 2 lutte avec le réglage de l'index de tableau direct, la modification de la longueur et l'ajout / suppression de la propriété de l'objet. Les développeurs peuvent utiliser les méthodes de mutation de Vue et Vue.set () pour assurer la réactivité.

React Composants: Création d'éléments réutilisables en HTML React Composants: Création d'éléments réutilisables en HTML Apr 08, 2025 pm 05:53 PM

Les composants React peuvent être définis par des fonctions ou des classes, encapsulant la logique de l'interface utilisateur et acceptant les données d'entrée via des accessoires. 1) Définissez les composants: utilisez des fonctions ou des classes pour retourner les éléments de réact. 2) Rendre le composant: React Cappel Render Method ou Exécute le composant de fonction. 3) Composants de multiplexage: passer des données à travers des accessoires pour construire une interface utilisateur complexe. L'approche du cycle de vie des composants permet d'exécuter la logique à différentes étapes, améliorant l'efficacité de développement et la maintenabilité du code.

Quels sont les avantages de l'utilisation de TypeScript avec React? Quels sont les avantages de l'utilisation de TypeScript avec React? Mar 27, 2025 pm 05:43 PM

TypeScript améliore le développement de React en offrant la sécurité du type, en améliorant la qualité du code et en offrant un meilleur support IDE, réduisant ainsi les erreurs et améliorant la maintenabilité.

React and the frontend: construire des expériences interactives React and the frontend: construire des expériences interactives Apr 11, 2025 am 12:02 AM

React est l'outil préféré pour construire des expériences frontales interactives. 1) Réagir simplifie le développement de l'interface utilisateur par la composontisation et le DOM virtuel. 2) Les composants sont divisés en composants de fonction et composants de classe. Les composants de fonction sont plus simples et les composants de la classe fournissent plus de méthodes de cycle de vie. 3) Le principe de travail de React repose sur le DOM virtuel et l'algorithme de réconciliation pour améliorer les performances. 4) La gestion de l'État utilise USESTATE ou This. State, et des méthodes de cycle de vie telles que ComponentDidMount sont utilisées pour une logique spécifique. 5) L'utilisation de base comprend la création de composants et la gestion de l'état, et l'utilisation avancée implique des crochets personnalisés et une optimisation des performances. 6) Les erreurs courantes incluent les mises à jour de statut et les problèmes de performance inappropriés, les compétences de débogage comprennent l'utilisation de Reactdevtools et d'excellents

Comment pouvez-vous utiliser UserReducer pour une gestion complexe de l'état? Comment pouvez-vous utiliser UserReducer pour une gestion complexe de l'état? Mar 26, 2025 pm 06:29 PM

L'article explique l'utilisation d'un userReducer pour une gestion complexe de l'état dans React, détaillant ses avantages sur UseState et comment l'intégrer avec l'utilisation d'effet pour les effets secondaires.

Que sont les composants fonctionnels dans vue.js? Quand sont-ils utiles? Que sont les composants fonctionnels dans vue.js? Quand sont-ils utiles? Mar 25, 2025 pm 01:54 PM

Les composants fonctionnels de Vue.js sont apatrides, légers et manquent de crochets de cycle de vie, idéaux pour rendre les données pures et optimiser les performances. Ils diffèrent des composants avec état en n'ayant pas d'état ou de réactivité, en utilisant directement les fonctions de rendu, un

Comment vous assurez-vous que vos composants React sont accessibles? Quels outils pouvez-vous utiliser? Comment vous assurez-vous que vos composants React sont accessibles? Quels outils pouvez-vous utiliser? Mar 27, 2025 pm 05:41 PM

L'article traite des stratégies et des outils pour garantir que les composants React sont accessibles, en se concentrant sur le HTML sémantique, les attributs Aria, la navigation par clavier et le contraste des couleurs. Il recommande d'utiliser des outils comme Eslint-Plugin-JSX-A11Y et Axe-Core pour Testi

See all articles