Pratique d'application de WebSocket dans le push de données en temps réel

WBOY
Libérer: 2023-10-15 14:34:02
original
1408 Les gens l'ont consulté

Pratique dapplication de WebSocket dans le push de données en temps réel

Titre : Pratique d'application de WebSocket dans le push de données en temps réel

Introduction :
Avec le développement rapide de la technologie Internet, le push de données en temps réel est devenu une exigence importante dans de nombreux domaines d'application. Cependant, le protocole HTTP traditionnel ne peut pas répondre aux besoins de transmission de données en temps réel en raison des limitations de sa méthode requête-réponse. En tant que protocole de communication full-duplex, WebSocket peut établir une connexion persistante entre le client et le serveur via une simple poignée de main pour établir une communication bidirectionnelle en temps réel. Cet article présentera la pratique d'application de WebSocket dans le push de données en temps réel et donnera des exemples de code spécifiques.

1. Introduction à WebSocket
WebSocket est un protocole de communication basé sur TCP, comme le protocole HTTP, il s'agit d'un protocole de couche application, cependant, il est différent du mode requête-réponse unique de HTTP. une connexion persistante qui peut être utilisée par le client. Communication bidirectionnelle en temps réel entre le client et le serveur. Son objectif est de résoudre le problème du push de données en temps réel du protocole HTTP.

2. Scénarios d'application WebSocket

  1. Système de chat en temps réel : WebSocket peut réaliser une fonction de chat en temps réel et les utilisateurs peuvent envoyer et recevoir des messages instantanément.
  2. Système de surveillance en temps réel : WebSocket peut réaliser une transmission en temps réel des données de surveillance, rendant les données du système de surveillance plus en temps réel et plus précises.
  3. Système de négociation d'actions en temps réel : WebSocket peut être utilisé pour transmettre des données boursières en temps réel, et les investisseurs peuvent comprendre l'évolution des actions en temps réel.
  4. Communication en temps réel dans les jeux : WebSocket peut être utilisé pour la messagerie en temps réel dans les jeux, tels que les batailles en temps réel, le chat et d'autres fonctions.

3. Pratique de l'application WebSocket
Ci-dessous, nous utilisons un exemple pour montrer comment utiliser WebSocket pour le transfert de données en temps réel.

  1. Implémentation côté serveur :
    Tout d'abord, nous devons créer un serveur WebSocket. Dans l'environnement Node.js, vous pouvez utiliser le module ws pour créer un serveur WebSocket. Le code spécifique est le suivant :
const WebSocket = require('ws');

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

wss.on('connection', (ws) => {
  // 建立连接时触发的回调函数
  console.log('Client connected');

  // 模拟实时推送数据
  setInterval(() => {
    ws.send(new Date().toString());
  }, 1000);

  ws.on('close', () => {
    // 关闭连接时触发的回调函数
    console.log('Client disconnected');
  });
});
Copier après la connexion

Description du code :

  • Créez un serveur WebSocket et écoutez le port 8080.
  • Lorsqu'un client établit une connexion avec le serveur, l'événement connection sera déclenché et la fonction de rappel correspondante sera exécutée. connection事件,执行相应的回调函数。
  • 在回调函数中,可以通过ws对象与客户端进行通信。
  • 在本例中,我们模拟每秒向客户端推送当前时间。
  1. 客户端实现:
    客户端使用浏览器内置的WebSocket对象来连接WebSocket服务器,并与服务器进行实时通信。具体代码如下:
const ws = new WebSocket('ws://localhost:8080');

ws.onopen = () => {
  // 连接建立时触发的回调函数
  console.log('Connected to WebSocket server');
};

ws.onmessage = (message) => {
  // 收到服务器推送的消息时触发的回调函数
  console.log('Received message: ' + message.data);
};

ws.onclose = () => {
  // 连接关闭时触发的回调函数
  console.log('Disconnected from WebSocket server');
};
Copier après la connexion

代码说明:

  • 创建一个WebSocket连接,并指定服务器的地址。
  • 当连接成功建立时,会触发onopen事件,执行相应的回调函数。
  • 当收到服务器推送的消息时,会触发onmessage事件,执行相应的回调函数。
  • 当连接关闭时,会触发onclose
  • Dans la fonction de rappel, vous pouvez communiquer avec le client via l'objet ws.

Dans cet exemple, nous simulons l'envoi de l'heure actuelle au client chaque seconde.

    🎜Implémentation client : 🎜Le client utilise l'objet WebSocket intégré au navigateur pour se connecter au serveur WebSocket et communiquer avec le serveur en temps réel. Le code spécifique est le suivant : 🎜🎜rrreee🎜Description du code : 🎜🎜🎜Créez une connexion WebSocket et précisez l'adresse du serveur. 🎜🎜Lorsque la connexion est établie avec succès, l'événement onopen sera déclenché et la fonction de rappel correspondante sera exécutée. 🎜🎜Lorsqu'un message poussé par le serveur est reçu, l'événement onmessage sera déclenché et la fonction de rappel correspondante sera exécutée. 🎜🎜Lorsque la connexion est fermée, l'événement onclose sera déclenché et la fonction de rappel correspondante sera exécutée. 🎜🎜🎜Conclusion : 🎜WebSocket, en tant que protocole de communication full-duplex, peut jouer un rôle important dans les scénarios d'application de transmission de données en temps réel. Grâce aux exemples pratiques présentés dans cet article, nous pouvons comprendre les principes de base de WebSocket et comment implémenter le push de données en temps réel sur le serveur et le client. Dans des projets réels spécifiques, nous pouvons ajouter une logique métier et des fonctions correspondantes en fonction des besoins pour répondre aux besoins de transmission de données en temps réel. 🎜

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!