Maison interface Web Tutoriel H5 Vous faire connaître WebSocket en HTML5

Vous faire connaître WebSocket en HTML5

May 26, 2017 pm 03:34 PM
html5 websocket

Découvrez WebSocket de HTML5

Dans la spécification HTML5, ma technologie Web préférée est l'API WebSocket, qui devient rapidement populaire. WebSocket offre une alternative bienvenue à la technologie Ajax que nous utilisons depuis quelques années. Cette nouvelle API permet de transmettre efficacement les messages du client au serveur en utilisant une syntaxe simple. Jetons un coup d'œil à l'API WebSocket de HTML5 : elle peut être utilisée côté client, côté serveur. Et il existe une excellente API tierce appelée Socket.IO.

1. Qu'est-ce que l'API WebSocket en HTML5 ?

L'API WebSocket est la méthode de communication asynchrone client-serveur de nouvelle génération. Cette communication remplace un seul socket TCP, utilisant le protocole ws ou wss, et peut être utilisée par n'importe quel programme client et serveur. WebSocket est actuellement standardisé par le W3C. WebSocket est déjà pris en charge par des navigateurs tels que Firefox 4, Chrome 4, Opera 10.70 et Safari 5.

L'avantage de l'API WebSocket est que le serveur et le client peuvent se transmettre des informations à tout moment dans un intervalle de temps donné. WebSocket ne se limite pas à la communication Ajax (ou XHR), car la technologie Ajax nécessite que le client lance une requête, et le serveur WebSocket et le client peuvent se transmettre des informations ;

Ce qui est intelligent avec la technologie Ajax, c'est qu'il n'existe aucun moyen conçu pour l'utiliser. WebSocket est créé pour la cible spécifiée et utilisé pour envoyer des messages dans les deux sens.

2. Utilisation de l'API WebSocket en HTML5

Concentrez-vous uniquement sur l'API côté client, car chaque langage côté serveur a sa propre API. L'extrait de code ci-dessous ouvre une connexion, crée un écouteur d'événements pour la connexion, déconnecte la connexion, l'heure du message, renvoie le message au serveur et ferme la connexion.

Le code est le suivant :

// 创建一个Socket实例
var socket = new WebSocket('ws://localhost:8080');
// 打开Socket 
socket.onopen = function(event){
  // 发送一个初始化消息
  socket.send('I am the client and I\'m listening!');
  // 监听消息
  socket.onmessage = function(event){
    console.log('Client received a message',event);
  };
  // 监听Socket的关闭
  socket.onclose = function(event){
    console.log('Client notified socket has closed',event);
  };
  // 关闭Socket.... 
  //socket.close()
};
Copier après la connexion

Jetons un coup d'œil à l'extrait d'initialisation ci-dessus. Le paramètre est l'URL et ws représente le protocole WebSocket. Les méthodes onopen, onclose et onmessage connectent les événements à l'instance Socket. Chaque méthode fournit un événement pour représenter l'état du Socket.

L'événement onmessage fournit un attribut data, qui peut contenir la partie Body du message. La partie corps du message doit être une chaîne qui peut être sérialisée/désérialisée afin de transférer plus de données.

La syntaxe de WebSocket est très simple, et l'utilisation de WebSockets est incroyablement simple... sauf si le client ne prend pas en charge WebSocket. Le navigateur IE ne prend actuellement pas en charge la communication WebSocket. Si votre client ne prend pas en charge la communication WebSocket, vous pouvez utiliser plusieurs options de secours :

Technologie Flash - Flash peut fournir un remplacement simple. L'inconvénient le plus évident de l'utilisation de Flash est que Flash n'est pas installé sur tous les clients et que certains clients, tels que l'iPhone/iPad, ne prennent pas en charge Flash.

Technologie d'interrogation longue AJAX - L'utilisation d'interrogations longues AJAX pour simuler WebSocket est présente dans l'industrie depuis un certain temps. C'est une technique viable, mais elle n'optimise pas le message envoyé. Autrement dit, c’est une solution, mais pas la meilleure technique.

Étant donné que les navigateurs actuels tels que IE ne prennent pas en charge WebSocket, que devons-nous faire si nous devons fournir le traitement des événements WebSocket, la transmission de retour et utiliser une API unifiée côté serveur ? Heureusement, Guillermo Rauch a créé la technologie Socket.IO.

3. WebSocket avec Socket.IO

Socket.IO est une API WebSocket créée par Guillermo Rauch, directeur de la technologie de LearnBoost et scientifique en chef de LearnBoost Labs. Socket.IO utilise la fonction de détection pour déterminer s'il convient d'établir une connexion WebSocket, une connexion AJAX à interrogation longue ou Flash, etc. Les applications en temps réel peuvent être créées rapidement. Socket.IO fournit également une API NodeJS, qui ressemble beaucoup à l'API client.

[Recommandations associées]

1. Tutoriel vidéo en ligne h5 gratuit

2. Manuel de la version complète HTML5

.

3.Tutoriel vidéo html5 original php.cn

4 Un exemple de la façon de dessiner le drapeau rouge cinq étoiles avec h5Canvas<.>

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)

Bordure de tableau en HTML Bordure de tableau en HTML Sep 04, 2024 pm 04:49 PM

Guide de la bordure de tableau en HTML. Nous discutons ici de plusieurs façons de définir une bordure de tableau avec des exemples de bordure de tableau en HTML.

Tableau imbriqué en HTML Tableau imbriqué en HTML Sep 04, 2024 pm 04:49 PM

Ceci est un guide des tableaux imbriqués en HTML. Nous discutons ici de la façon de créer un tableau dans le tableau ainsi que des exemples respectifs.

Marge gauche HTML Marge gauche HTML Sep 04, 2024 pm 04:48 PM

Guide de la marge HTML gauche. Nous discutons ici d'un bref aperçu de la marge gauche HTML et de ses exemples ainsi que de son implémentation de code.

Disposition du tableau HTML Disposition du tableau HTML Sep 04, 2024 pm 04:54 PM

Guide de mise en page des tableaux HTML. Nous discutons ici des valeurs de la mise en page des tableaux HTML ainsi que des exemples et des résultats en détail.

Espace réservé d'entrée HTML Espace réservé d'entrée HTML Sep 04, 2024 pm 04:54 PM

Guide de l'espace réservé de saisie HTML. Nous discutons ici des exemples d'espace réservé d'entrée HTML ainsi que des codes et des sorties.

Déplacer du texte en HTML Déplacer du texte en HTML Sep 04, 2024 pm 04:45 PM

Guide pour déplacer du texte en HTML. Nous discutons ici d'une introduction, du fonctionnement des balises de sélection avec la syntaxe et des exemples à implémenter.

Liste ordonnée HTML Liste ordonnée HTML Sep 04, 2024 pm 04:43 PM

Guide de la liste ordonnée HTML. Ici, nous discutons également de l'introduction de la liste et des types HTML ordonnés ainsi que de leur exemple respectivement.

Bouton HTML onclick Bouton HTML onclick Sep 04, 2024 pm 04:49 PM

Guide du bouton HTML onclick. Nous discutons ici de leur introduction, de leur fonctionnement, des exemples et de l'événement onclick dans divers événements respectivement.

See all articles