Maison  >  Article  >  Opération et maintenance  >  Comment utiliser la technologie WebSocket sous Linux

Comment utiliser la technologie WebSocket sous Linux

WBOY
WBOYoriginal
2023-06-18 19:38:503578parcourir

Avec l'augmentation des applications réseau modernes, la technologie WebSocket est devenue très populaire. Il s'agit d'une technologie de connexion longue basée sur le protocole TCP qui peut créer un pipeline de communication bidirectionnel entre le client et le serveur. Dans cet article, nous expliquerons comment créer une application simple de chat en temps réel à l'aide de la technologie WebSocket dans les systèmes Linux.

1. Installez Node.js

Pour utiliser WebSocket, vous devez d'abord installer Node.js dans le système Linux. Node.js est un environnement d'exécution JavaScript côté serveur qui nous aide à écrire des applications Web efficaces en temps réel. Voici la commande pour installer Node.js sur Debian/Ubuntu :

$ sudo apt-get update
$ sudo apt-get install nodejs
$ sudo apt-get install npm

2. Créez un serveur WebSocket

Ensuite, nous créons un simple serveur WebSocket. Créez un fichier nommé server.js dans l'éditeur et copiez-y le code suivant :

const WebSocket = require('ws');

const server = new WebSocket.Server({ port: 8080 });

server.on('connection', function connection(ws) {
  ws.on('message', function incoming(message) {
    console.log('received: %s', message);
    server.clients.forEach(function each(client) {
      if (client.readyState === WebSocket.OPEN) {
        client.send(message);
      }
    });
  });
});

Dans cet exemple, nous avons utilisé le module WebSocket intégré de Node.js puis avons créé un serveur WebSocket (port 8080). Chaque fois qu'un nouveau client se connecte au serveur, nous créerons une instance WebSocket pour ce client et écouterons ses messages sur le serveur. Chaque fois qu'un message est reçu, le serveur diffuse le message à chaque client.

3. Créer un client

Grâce à la technologie WebSocket, nous pouvons réaliser une communication bidirectionnelle entre le client et le serveur. Dans cet exemple, nous utiliserons un outil de ligne de commande appelé ws pour créer un client WebSocket. Voici la commande pour installer ws sur un système Linux :

$ sudo npm install -g ws

Créez un fichier appelé client.js dans l'éditeur et copiez-y le code suivant :

const WebSocket = require('ws');

const ws = new WebSocket('ws://localhost:8080');

ws.on('open', function open() {
  console.log('connected');
});

ws.on('message', function incoming(data) {
  console.log(data);
});

process.stdin.on('data', function incoming(data) {
  ws.send(data.toString().trim());
});

Dans cet exemple, nous avons utilisé le module ws pour créer un WebSocket. client et connectez-le au serveur WebSocket que nous avons créé précédemment. Chaque fois qu'une connexion est établie, nous afficherons connecté sur la console. Tous les messages du serveur seront imprimés sur la console. Enfin, nous avons configuré un écouteur stdin qui, lorsque le client saisit des données, celles-ci seront immédiatement envoyées au serveur.

4. Testez l'application

Ouvrez deux fenêtres sur le terminal, une pour le serveur et l'autre pour le client. Exécutez la commande suivante dans la fenêtre du serveur :

$ node server.js

Exécutez la commande suivante dans la fenêtre du client :

$ node client.js

Vous pouvez maintenant saisir quelques messages dans la fenêtre du client et les voir diffusés à chaque client dans la fenêtre du serveur. Vice versa, si vous saisissez des données dans la fenêtre du serveur, elles seront affichées sur chaque client.

5. Résumé

L'utilisation de la technologie WebSocket sur les systèmes Linux peut nous aider à créer des applications dotées de capacités de communication bidirectionnelle en temps réel. Dans cet article, nous créons une application simple de chat en direct en utilisant le module Node.js et ws. J'espère que cet article sera utile aux débutants !

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:
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