AJAX server to client

Par boumil, il y a 11 ans


Bonjour tout le monde;

Est-ce que c possible d'effectuer des requêtes serveur to client, comme une boîte de messagerie à la place de mettre en place un timer côté client pour effectuer des requêtes Ajax simple.

Merci

6 réponses

Huggy, il y a 11 ans

Non, un client ne peut jamais être appelé

Maenhyr, il y a 11 ans

C'est ce que l'on appelle du push.

Le problème du HTTP à l'heure actuelle est qu'un serveur ne connait pas les clients qui s'y sont connectés. Celui ci ne peut donc pas effectuer des requêtes vers les clients.

Fonctionnement du HTTP :

  1. le client ouvre une socket entre le serveur et lui
  2. le client envoie sa requête avec ses informations
  3. le serveur répond
  4. la socket est détruite

Il existe cependant d'autres protocoles pour garder une connexion ouverte entre un client et un serveur, notamment WebSocket. Tu peux donc utiliser cette technologie pour réalier le push.

Le client va devoir se connecter une première fois au serveur pour que ce dernier puisse avoir une base de clients connectés. Ensuite lorsque le serveur aura une nouvelle information d'un client, il pourra, par le biai de la base et des websockets propager l'information à tout le monde.

Huggy, il y a 11 ans

Pour faire tes tests, il te faut un serveur qui gère le protocole ws://
en java il y a Netty qui le fait
Quelle techno utilises tu ?

Maenhyr, il y a 11 ans

pour ma part j'ai utilisé Play framework qui le gérait dans son framework et je teste Ratchet en PHP là.

Huggy, il y a 11 ans

Je l'utilise aussi avec Playframework, c'est relativement facile.
côté javascript c'est maintenant intégré dans la plupart des navigateurs sauf android (ICS)
on peut aussi le sécuriser avec wss://