2010-05-05 11 views
0

J'ai un peu (peut-être la réponse pourrait nécessiter un livre) question sur les services Web et la programmation côté serveur.Services Web en temps réel

Mais d'abord, un petit préambule. Récemment, nous avons vu de nouveaux types d'applications & jeux utilisant une sorte d'interaction en temps réel avec une base de données, ou plus généralement, avec d'autres utilisateurs. Je parle de toile de dessin partagée, de jeux comme this, ou de simples conversations, ou de l'appli Android "un Monde de Photo", où en temps réel vous voyez qui est en ligne, pour partager vos photos, etc

Maintenant ma question: Toutes ces applications sont-elles basées sur des architectures client/serveur TCP classiques ou existe-t-il un moyen de les rendre plus simples, comme une plate-forme Web comme LAMP? Ce que je demande, en d'autres termes, est: Est-ce que PHP + MySQL (ou JSP, ou RoR, ou tout autre langage serveur) peut permettre aux utilisateurs en ligne de communiquer en temps réel et de partager des données? Y at-il un moyen de le faire sans le mécanisme laid et lourd des tables temporaires?

Merci! J'espère avoir été clair.

Répondre

-1

Il y a cette chose fou de magie noire appelée P2P (peer-to-peer) qui rend tout cela possible.

Je ne sais pas, mais je ne pense pas que ça ira.

8-D

-1

EDIT: MERDE .... Je ne vois pas la date à laquelle la question a été publiée.

Je ne peux pas le croire. C'est ma troisième question consécutive qui implique XHR Long Polling alias Comet programmation. Daliz, ce que vous voulez est possible, facile et fait par divers sites Web en utilisant XHR Long Polling.

Le concept: Normalement, les navigateurs Web envoient une requête au serveur, le serveur renvoie une réponse et ferme la connexion au navigateur. Au lieu de fermer la connexion à la fin, la programmation Comet maintient la connexion ouverte. Ainsi, la connexion entre le navigateur et le serveur est toujours ouverte. Donc, en termes simples, quand nous voulons nous connecter à Alice, nous trouvons le fil de connexion à son navigateur et envoyer le message à Alice.

Facebook chant utilise le même concept. Please read This.

Si votre client n'est pas un navigateur Web mais un service Web, alors c'est plus facile. Les services Web contrairement aux navigateurs Web ont une adresse. Ainsi, le service client appelle le service principal avec une URL de rappel et s'enregistre sur un événement particulier. Lorsque cet événement se produit, comme quelqu'un qui dessine quelque chose, le service principal utilisera l'URL de rappel du service client pour notifier cette action. Lors du partage de données comme Photos ou d'autres données binaires, il est également possible que le flux d'entrée d'un utilisateur soit envoyé à tous les autres utilisateurs associés. Ainsi, une simple chaîne ou une photo peut être partagée. Mais cela signifie également que l'utilisateur recevant la photo ne recevra pas de message comme "xxx vous a envoyé une photo, cliquez ici pour le télécharger". Ils auront simplement une option "Voulez-vous ouvrir ou enregistrer ce fichier".

+0

Ce serait bien si l'électeur abattu a laissé une raison. –