Maison  >  Article  >  interface Web  >  WebSocket et JavaScript : créez un système efficace de transmission de messages en temps réel

WebSocket et JavaScript : créez un système efficace de transmission de messages en temps réel

WBOY
WBOYoriginal
2023-12-18 11:10:12819parcourir

WebSocket et JavaScript : créez un système efficace de transmission de messages en temps réel

WebSocket et JavaScript : créez un système de transmission de messages en temps réel efficace

Avec le développement rapide d'Internet, les systèmes de transmission de messages en temps réel deviennent de plus en plus importants dans les applications modernes. En tant que protocole basé sur TCP, WebSocket offre aux développeurs une méthode de communication bidirectionnelle efficace en temps réel. En combinaison avec JavaScript, nous pouvons rapidement créer un système efficace de transmission de messages en temps réel.

Cet article expliquera comment utiliser WebSocket et JavaScript pour implémenter un système simple de transmission de messages en temps réel et fournira des exemples de code spécifiques pertinents.

1. Le concept de base de WebSocket

WebSocket est un protocole basé sur TCP. Il établit un canal de communication en duplex intégral entre le navigateur et le serveur, qui peut établir une communication bidirectionnelle en temps réel. Par rapport aux requêtes HTTP traditionnelles, les fonctionnalités de WebSocket incluent :

  1. Communication bidirectionnelle : WebSocket permet au serveur de transmettre activement des messages au client, et le client peut également envoyer des messages au serveur.
  2. Temps réel : une fois la connexion WebSocket établie avec succès, le délai de communication est très faible et l'envoi de messages en temps réel peut être réalisé.
  3. Économisez la bande passante : WebSocket utilise un protocole avec des en-têtes plus petits et une seule poignée de main, ce qui peut réduire efficacement la surcharge de transmission de données par rapport aux requêtes HTTP.

2. Utilisez WebSocket pour implémenter un système push de messages en temps réel

Ci-dessous, nous utiliserons WebSocket et JavaScript pour implémenter un système simple de push de messages en temps réel.

  1. Exemple de code côté serveur (Node.js) :
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 3000 });

wss.on('connection', (ws) => {
  ws.on('message', (message) => {
    console.log('Received message:', message);
  });

  ws.send('Hello, client!');
});

Le code ci-dessus crée un serveur WebSocket en utilisant la bibliothèque WebSocket de Node.js et écoute sur le port 3000. Lorsqu'un client se connecte, l'événement connection sera déclenché, et la réception et l'envoi des messages seront traités dans la fonction de rappel. connection事件,并在该回调函数中处理消息的接收和发送。

  1. 客户端代码示例(JavaScript):
const ws = new WebSocket('ws://localhost:3000');

ws.onopen = () => {
  console.log('Connected to server.');

  ws.send('Hello, server!');
};

ws.onmessage = (event) => {
  console.log('Received message:', event.data);
};

ws.onclose = () => {
  console.log('Disconnected from server.');
};

上述代码创建了一个WebSocket对象,并连接到服务器的地址。在连接建立成功后,会触发onopen事件,并通过send方法向服务器发送消息。当接收到服务器发送的消息时,会触发onmessage事件,并通过event.data获取消息内容。当连接关闭时,会触发onclose

    Exemple de code client (JavaScript) :

    rrreee

    Le code ci-dessus crée un objet WebSocket et se connecte à l'adresse du serveur. Une fois la connexion établie avec succès, l'événement onopen sera déclenché et un message sera envoyé au serveur via la méthode send. Lorsqu'un message envoyé par le serveur est reçu, l'événement onmessage sera déclenché et le contenu du message sera obtenu via event.data. Lorsque la connexion est fermée, l'événement onclose est déclenché.

    3. Résumé

    Cet article présente comment utiliser WebSocket et JavaScript pour implémenter un système simple de transmission de messages en temps réel. En tant que protocole de communication bidirectionnelle efficace et en temps réel, WebSocket peut répondre aux besoins en temps réel des applications modernes.

    Avec l'exemple de code ci-dessus, nous pouvons rapidement démarrer avec WebSocket et implémenter la fonction de transmission de messages en temps réel dans nos propres applications. Bien entendu, les scénarios d’application réels peuvent être plus complexes et des problèmes tels que le format des messages et l’authentification de l’identité doivent être pris en compte. J'espère que cet article pourra fournir aux lecteurs une introduction de base et les guider pour en savoir plus sur WebSocket et la technologie de transmission de messages en temps réel.
  • Références :
https://developer.mozilla.org/en-US/docs/Web/API/WebSocket🎜🎜https://www.npmjs.com/package/ws🎜🎜

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