Beaucoup d’entre vous ont entendu parler de ce nouveau composant de HTML5, mais, même ainsi, vous ne savez pas comment travailler avec les websockets.
Qu’est-ce que le websocket ?
Websocket est une API qui nous permet de réaliser une communication bidirectionnelle et ouverte entre deux dispositifs ; dans ce cas précis, entre un client et un serveur.
Prenons un exemple : Pepín est un homme d’âge mûr très sympathique qui organise des réunions d'”Amis du 600″. Imaginons que Pepín accède à un site web. Lorsque Pépin accède à un site web, ce qui se passe en réalité, c’est que deux ordinateurs se parlent, ils discutent. L’un des ordinateurs est celui de Pépin et l’autre est le serveur.
Dialogue d’ordinateur à ordinateur
“L’ordinateur client, c’est-à-dire l’ordinateur de Pepín, adresse une demande de communication à l’ordinateur serveur. Dans ce cas, la demande de communication commence par une salutation. L’ordinateur de Pépin dit quelque chose comme “Bonjour” à l’ordinateur serveur. L’ordinateur serveur répond : “Bonjour, vous aussi”. Pour mémoire, il s’agit d’une conversation au sens figuré, ne vous en mêlez pas, personne ici ne dit “Bonjour” au sens propre. L’ordinateur de Pepín continue : “Puis-je vous envoyer un fichier ?” Par exemple, si Pépin veut envoyer un fichier. Le serveur dira : “Quel genre de fichier ?”. “Un fichier jpg” vous dira l’ordinateur de Pépin. “Combien pèse ce fichier jpg ?”, et ainsi de suite… puis l’ordinateur de Pepin lui répondra, etc…
L’ordinateur serveur vous répondra toujours en fonction de ce qui a été prédéterminé en lui auparavant pour un échange de ce type de fichiers.
C’est ce qui se passe habituellement lorsque nous travaillons ou interagissons avec une page statique, celle de toute la vie, une simple page. La conversation est fermée et simplifiée. Le problème, c’est qu’à chaque fois que Pepin viendra sur votre page pour obtenir de nouvelles informations, il devra recommencer cette conversation. Pourquoi ? Parce qu’il n’y a pas de communication ouverte entre les deux, ou du moins elle n’est pas maintenue ouverte.
Si je t’ai vu, je ne m’en souviens pas
Le client et le serveur oublient tous deux que cette conversation a eu lieu au moment où la connexion est fermée. Par conséquent, chaque fois que vous reprenez la connexion, vous devez commencer par dire “bonjour” au serveur, lui montrer vos intentions, ce que vous voulez, comment vous le voulez, puis lui dire au revoir. Et je suis désolé, quelle que soit l’estime que vous portez à votre serviteur, lorsque tout sera terminé, il ne se souviendra pas de vous, ni lorsque vous reviendrez vers lui pour obtenir du nouveau matériel. “L’oubli est la seule vengeance et le seul pardon.” -J.L. Borges
Ne le prenez pas trop à cœur, Pepin, c’est ainsi que tout est programmé. Votre connexion est unique, momentanée et périssable, et le protocole est conçu pour servir un grand nombre de personnes. Il n’est pas possible de maintenir des connexions profondes gratuitement.
Qu’est-ce que websocket, alors ?
Avec Websocket, la communication dont nous venons de parler reste ouverte. Une websocket est créée et au moment où elle est ouverte, une communication bidirectionnelle ouverte peut être établie. Cela signifie que le serveur peut parler au client et que le client peut parler au serveur. Le but ultime des websockets est d’envoyer des informations (ou une communication entre le client et le serveur) en temps réel. Une socket est un protocole de communication bidirectionnel et une websocket est la même chose, sauf qu’elle fonctionne dans le cadre d’un autre protocole directionnel appelé HTTP.
Comme je l’ai dit, le but de websocket est de créer des connexions bidirectionnelles et durables entre un client et un serveur. Nous créons la connexion, client et serveur, nous réfléchissons à la manière de communiquer en utilisant le même schéma que HTTP, en gardant seulement le port ouvert et en décidant d’envoyer des messages en temps réel.
De cette manière, le serveur pourra envoyer à Pepín, ou à n’importe lequel de ses chers clients, n’importe quel message à n’importe quel moment et ils le recevront immédiatement. Il en va de même pour l’inverse. Nous pourrons créer un message depuis notre ordinateur et nous pourrons l’envoyer sans avoir à recommencer à zéro avec une nouvelle connexion ou avec la conversation heureuse. Il sera ouvert et nous reconnaîtra.
Et maintenant, vous êtes plus ou moins prêts à répondre à la redoutable question. Je ne veux pas dire “m’aimes-tu encore ?”, mais “qu’est-ce que Websocket ?”. Mais…
Connaissez-vous déjà Pandora RC ?
Pandora RC est un système de gestion d’ordinateur à distance (logiciel de bureau à distance) qui peut vous aider dans de nombreuses tâches.
Voulez-vous savoir ce que Pandora RC peut faire pour vous ? Vous pouvez en savoir plus en cliquant ici.
Vous pouvez également nous envoyer vos questions sur Pandora RC. Vous pouvez le faire en utilisant le formulaire de contact.
Notre équipe Pandora RC se fera un plaisir de vous aider !
L’équipe éditoriale de Pandora FMS est composée d’un groupe de rédacteurs et de professionnels de l’informatique ayant un point commun : leur passion pour la surveillance des systèmes informatiques. L’équipe éditoriale de Pandora FMS est composée d’un groupe de rédacteurs et de professionnels de l’informatique ayant un point commun : leur passion pour la surveillance des systèmes informatiques.