Il existe une famille de méthodes ( Birddog, Shadow et Suivre ) Dans l'API Twitter qui ouvre une connexion (principalement) permanente et vous permet de suivre de nombreux utilisateurs. J'ai exécuté le code de connexion d'échantillon avec CURL dans Bash, et cela fonctionne bien: lorsqu'un utilisateur je spécifie écrit un tweet, je reçois un flux de XML dans ma console. P>
Ma question est la suivante:
5 Réponses :
Je suggérerais de chercher à utiliser Ajax. Je ne suis pas un développeur PHP, mais je penserais que vous pourriez câbler un appel AJAX à l'API et mettre à jour votre page Web. P>
fopen et fgets ceci est en aucun cas grand (ou même bon) de code mais Il devrait em> strong> fournir les fonctionnalités dont vous avez besoin. Vous devrez ajouter une manipulation des erreurs et une analyse de données entre autres. P> p>
Remarque Le support de flux a été ajouté à Fopen () dans PHP 5.0 afin que vous aurez besoin au moins de cela.
Je suis sûr que votre script sera expirant après environ 30 secondes d'écoute des données sur le flux. Même si ce n'est pas le cas, une fois que vous obtenez une charge de serveur important, le nombre de connexions ouvertes et d'écoute apportera le serveur à genoux. P>
Je vous suggérerais de jeter un coup d'œil à une solution AJAX qui appelle un script qui stocke une file d'attente de messages. Je ne sais pas comment l'API Twitter fonctionne exactement cependant, donc je ne sais pas si vous pouvez avoir un script exécuté à la demande d'obtenir tous les tweets ou si vous devez avoir une sorte de démon ajoute les tweets à une file d'attente que PHP peut lire et transmettre via votre appel AJAX. P>
Pour autant que je sache, c'est juste une connexion. Twitter m'envoie un XML (est-ce appelé un objet?) Par message; Mon serveur ne fait aucun requérant actif, seulement recevoir / écouter.
Je suggérerais de mettre en place un démon qui écoute (peut-être écrit à Python, il serait probablement très simple) et décharge tous les tweets dans une base de données MySQL. Vos scripts PHP peuvent ensuite lire dans la base de données.
Il existe des bibliothèques pour cela ces jours-ci qui rendent les choses beaucoup plus faciles (et gérer les bits difficiles comme la reconnexion, la manipulation de la prise, la backoff TCP, etc.), c'est-à-dire: p>
pHirehose est définitivement la voie à suivre: p>