2009-12-30 10 views
1

Quelqu'un peut-il expliquer comment fonctionne la réponse en temps réel sur Twitter? Comme lorsque vous effectuez une recherche dans twitter tout en regardant le résultat, vous obtenez des mises à jour en temps réel en disant "7 personnes de plus tweeté". J'ai remarqué qu'il n'y a pas d'appel AJAX en cours. Quelqu'un peut-il me dire comment cela fonctionne et est-il possible de mettre en œuvre une telle chose en utilisant PHP?Twiiter comme réponse en temps réel en utilisant PHP

Répondre

3

Firebug montre qu'il effectue des appels asynchrones au serveur:

http://integratedsearch.twitter.com/search.html?_=1262187845554&q=new+year&since_id=7199106684&refresh=true&callback=processSummizeRefresh

Remarque les variables:

  • q: "nouvelle année"
  • since_id: 7199106684
  • refresh: true
  • callback processSummizeRefresh

Tout ce qu'il fait est à la recherche de toutes les correspondances à la variable q dont l'ID est supérieure à since_id et en retournant un compte. Si vous chargez les résultats, en cliquant sur "123 nouveaux tweets", le since_id sera mis à jour pour refléter la nouvelle valeur d'ID la plus récente.

+2

Il doit interroger le serveur son compris. Comment le fait-il sans faire d'appels AJAX? – Zaje

+3

Il fait AJAX un appel. J'ai sorti cette information du firebug. – Sampson

+0

Okay finalement trouvé qu'il fait des appels AJAX. Pouvez-vous me donner une raison pour laquelle l'appel AJAX fait, ne se connecte pas dans l'onglet console de firebug. Coz la plupart des applications que j'ai vu, tous les appels AJAX sont enregistrés dans l'onglet de la console de firebug, dans le cas de twitters ce n'est pas le cas? – Zaje

1

Il utilise probablement une longue interrogation. Voir comet.

2

Tout est une question de comète, comme l'a mentionné Zack. Les implémentations en PHP sont délicates; Facebook utilise Erlang.

Si vous voulez commencer avec PHP sans avoir à installer votre propre serveur, consultez WebSync On-Demand.