Dans cet article, nous allons présenter et découvrir la technologie socket.io, qui permet notamment d’avoir une communication bidirectionnelle avec un site web. Vous verrez la facilité d’écriture des événements, côté client et serveur.
Cet article va se baser sur l'écriture d'une application web de messagerie temps réel. Souhaitant réaliser ce projet, nous rencontrons une contrainte de taille ; la norme HTTP est à l’origine monodirectionnelle : le client envoie une requête au serveur et celui-ci lui répond, mais dans le cadre de notre messagerie, nous aimerions notifier l’internaute d’un nouveau message.
Pour cela, nous pourrions mettre en place une boucle infinie, vérifiant à intervalle régulier la présence d’un nouveau message. Nous allons préférer ici utiliser une technologie permettant de notifier un événement à chaque client connecté ou si besoin, à un client en particulier.
Cette technologie, vous l'aurez deviné, c'est socket.io !
Le code qui suit a été écrit et testé sur Debian 9, le code source de l’article se situe aux adresses https://github.com/imikado/articleLMsocketio_server et https://github.com/imikado/articleLMsocketio_client.
1. Socket.io,...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première