Interface API PHP : Comment utiliser les WebSockets
Aug 25, 2023 pm 12:30 PMPHP est un langage de script open source côté serveur couramment utilisé pour créer des sites Web et des applications Web dynamiques. Les interfaces API PHP sont généralement fournies via le protocole HTTP, mais avec les exigences croissantes des applications Web modernes, la mise à jour des données en temps réel est devenue plus importante. Cela nécessite l'utilisation de WebSockets pour une communication bidirectionnelle afin de répondre plus rapidement aux changements.
WebSockets est un nouveau type de canal de communication entre client et serveur en HTML5. Il permet une transmission de données bidirectionnelle en temps réel en maintenant une connexion pendant une longue période. Contrairement aux requêtes HTTP, les WebSockets ouvrent un socket TCP sur la connexion WebSocket au lieu d'en créer un à chaque requête. Cela signifie que les WebSockets permettent un transfert de données en temps réel plus rapide et plus simple que les requêtes HTTP.
Cet article expliquera comment utiliser l'interface API PHP pour communiquer avec WebSockets afin de mettre à jour les données dans les applications Web en temps réel.
1. Installer Ratchet
Pour utiliser WebSockets, vous devez installer Ratchet, une bibliothèque WebSocket très populaire en PHP. Vous pouvez télécharger Ratchet depuis Github et l'ajouter à votre projet, ou l'installer à l'aide de Composer.
Si vous utilisez Composer, vous pouvez exécuter la commande suivante :
1 |
|
Cela installera automatiquement Ratchet. Une fois installé, vous pourrez créer un serveur WebSocket en utilisant sa classe WebSocket Server.
2. Créer un serveur WebSocket
À l'aide de Ratchet, vous pouvez créer un serveur WebSocket pour une communication en temps réel avec les clients. Voici un exemple de code de base du serveur WebSocket :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
|
Le code ci-dessus crée un serveur WebSocket qui peut accepter les connexions client à partir du port 8080. Il n'a pas de véritable logique métier, il imprime simplement les événements de connexion, de message et de déconnexion. Vous pouvez l'utiliser comme point de départ et personnaliser votre propre classe de serveur WebSocket selon vos besoins.
3. Le client utilise l'API WebSocket
Côté client, vous pouvez utiliser l'API WebSocket pour établir une connexion avec le serveur et envoyer et recevoir des messages. Voici l'exemple de client WebSocket le plus simple :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
Ce code tentera de se connecter au serveur WebSocket que nous venons d'écrire. Lorsqu'un événement de connexion est reçu, il envoie un message. Lorsqu'un message est reçu du serveur, il l'enregistre sur la console. Gère également les situations de fermeture de connexion et d’erreur.
4. Utilisation de WebSockets via l'interface API PHP
Voyons maintenant comment communiquer avec WebSockets à l'aide de l'interface API PHP. Vous pouvez utiliser un routeur API traditionnel pour gérer les requêtes WebSocket. Lorsqu'un client se connecte à un serveur WebSocket, vous pouvez utiliser l'interface ConnectionInterface de Ratchet WebSocket pour récupérer les informations pertinentes. Vous pouvez également utiliser ces informations pour authentifier les connexions et garantir que seuls les utilisateurs authentifiés peuvent se connecter au serveur WebSocket.
Voici l'exemple de code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
|
Dans la méthode onOpen, nous pouvons effectuer certains traitements, comme vérifier la connexion, envoyer un message de bienvenue au client et enregistrer la nouvelle connexion. Dans la méthode onClose, nous pouvons gérer l'événement de fermeture de la connexion, comme la suppression de la connexion de la liste et l'envoi d'une notification hors ligne à d'autres clients.
Dans la méthode onMessage, nous pouvons gérer le message envoyé par le client WebSocket. Étant donné que WebSocket est un canal de communication bidirectionnel, cela signifie que le client peut également envoyer des messages au serveur, plutôt que simplement le serveur envoyant des messages au client, ce qui améliore considérablement la capacité de l'application à envoyer et recevoir des données.
En communiquant avec WebSockets via l'interface API PHP, vous pouvez mettre à jour les données en temps réel, ce qui est d'une grande importance pour les applications en temps réel telles que les transactions en temps réel, l'envoi de messages et les applications de jeux.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian

Comment configurer Visual Studio Code (VS Code) pour le développement PHP
