Inversion de contrôle pour les requêtes HTTP

Le problème exposé dans ce sujet a été résolu.

Salut,

Est-ce que quelqu'un saurait comment faire en sorte que ça soit un serveur qui appelle un client web à la demande (après premier contact par Ajax par exemple) ? Au lieu que ça soit le client web qui envoie une requête au serveur en attente d'une réponse. Par exemple pour avoir une barre de progression d'un calcul sur serveur.

Merci d'avance !

Salut,

Voici quelques liens qui pourront sûrement t'aider.

Server push: https://developer.mozilla.org/fr/docs/Web/API/Push_API/Using_the_Push_API

Server send event: https://developer.mozilla.org/fr/docs/Server-sent_events/Using_server-sent_events

WebSocket: https://developer.mozilla.org/fr/docs/WebSockets

A noter que les deux premiers sont relativement récents; fais donc bien attention à la compatibilité des navigateurs. Les websockets sont un peu plus anciens, ils fonctionnent partout sauf sur IE10 et avant, mais ils sont peut-être un peu plus contraignants à mettre en place.

+0 -0

Merci beaucoup ! Je vais essayer de me débrouiller avec socket.io :) .

tit_toinou

Pour l'avoir utilisé sur plusieurs années Socket.io est instable, et les mise à jours apportent des régressions ou de nouveaux bugs… Mais Socket.io fait son travail.

Je te conseille de t'orienter vers une autre solution, si tu n'as pas encore commencé à utiliser Socket.io.

Par exemple : Sockjs ou Engine.io, et ici tu as une liste : Which websocket library to use with Node.js?

+0 -0

JE suis d'accord avec l'avis précédent, pour avoir déjà essayé socket.io, j'ai aussi trouvé que c'était vachement instable ou parfois même carrément buggé, sans toutefois m'apporter pleinement le principal bénéfice pour lequel je la'vais initialement choisi, la compatibilité avec les anciens navigateurs.

Utiliser les websockets directement a fonctionné beaucoup mieux pour moi. Mieux, coder un proxy basé sur AJAX pour les navigateurs qui ne supportent pas websockets n'a pas été si compliqué que ça… j'ai réussi à avoir un code qui marche sur IE7. Et hop, une boîte noire en moins.

Personnellement je ne vois plus du tout l'utilité de socket.io. Le seul avantage que j'y vois par rapport aux websockets natifs est la compatibilité avec IE6-9, et aujourd'hui ces navigateurs n'ont plus grand intérêt. Donc socket.io est pour moi devenu inutile.

+0 -0

Je n'ai jamais essayé, ça me semblait un peu brut comme méthode.

Ce n'est pas plus compliqué. Et maintenant les websockets sont supportés à peu près partout: firefox, chrome, edge, IE10+, Safari 6+ d'après caniuse. Ca doit faire à peu près 99% du monde.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte