12-01-2009, 01:34 AM
(12-01-2009, 01:07 AM)Ter Rowan a écrit : je vais plus poser une question que donner une réponse mais bon...
y a quand même un truc qui me chiffonne....
D'un point de vue architecture, c'est jamais le serveur qui envoie une donnée sans que le client lui demande non ?
A mon sens (qu on fasse de l'ajax, du flash, du c, du php, du je sais pas quoi) ce sera toujours au client de demander une info au serveur, à moins qu on puisse prendre la main à distance d'un pc ?
je vais t'expliquer ça à ma sauce:
le client lui il va effectivement ouvrir la connection, mais c'est tout; après c'est le serveur qui "prend la main" pour transmettre au client des données quand il a des nouvelles infos.
pour schématiser:
le client ouvre connection (sockets) -----------> au serveur,
et ensuite les 2 communique librement (celui qui a une requête ou données à transmettre le fait): client <----------------------> serveur
(comme une conversation par téléphone chacun est libre de dire/demander ce qu'il veut, quitte à couper la parole à l'autre partie)
par contre les requêtes web classique sont effectivement comme tu le décrits:
client envoie requête ----------------- > serveur reçois la requête, traite & envoie réponse -------------------> client reçois réponse
(si je reprend la conversation téléphonique: c'est comme si le client faisait que poser des questions, et à chaque fois il attend de recevoir la réponse qu'on lui donne)
pas besoin d'être einstein pour se rendre compte qu'une des 2 situation est plus rigide/passive; alors que l'autre est plus souple/proactive.