web-dev-qa-db-fra.com

Exemple simple de comète utilisant php et jquery

Quelqu'un peut-il me donner un bon et simple exemple de la technique des comètes utilisant PHP?

J'ai juste besoin d'un exemple qui utilise une connexion HTTP persistante ou quelque chose de similaire. Je ne veux pas utiliser une technique de sondage, parce que j'ai quelque chose comme ça mis en place et non seulement il est difficile de travailler avec et de gérer son gros porc de ressources. J'utilise également IIS7 et non Apache.

Un bon exemple serait vraiment utile pour que je puisse passer de cette technique de sondage moche.

34
Ray

Vous devriez utiliser l'interrogation, ou utiliser un serveur web spécialement conçu pour les longues requêtes et COMET, avec un bon backend JS:

function listen() {
    $.get("/mylongrequestfile", {}, function(data) {
        $("#mydiv").html(data);
        listen(); // then launch again
    }));
};

Rappelez-vous que COMET est "attendre les données, s'il y a retour et sortie de données", donc le backend JS devra analyser les données et relancer le processus de demande au serveur.

Dans cet exemple, s'il y a un problème côté serveur ou juste une déconnexion du côté utilisateur, tout le processus sera interrompu (la fonction n'est appelée que si la requête aboutit)

14
Adrián Navarro

Vérifiez ceci: Comment implémenter COMET avec PHP .
Ceci n'utilise pas JQuery. Il est fait en utilisant PHP et Prototype. Il est très facile à comprendre. Je pense que vous pouvez facilement créer un script JQuery après l'avoir vu.

6
chanchal1987

J'ai un exemple très simple ici qui peut vous aider à démarrer avec la comète. Il couvre la compilation de Nginx avec le module NHPM et inclut du code pour les rôles simples d'éditeur/abonné dans jQuery, PHP et Bash.

http://blog.jamieisaacs.com/2010/08/27/comet-with-nginx-and-jquery/

Un exemple de travail (simple chat) peut être trouvé ici:
http://cheetah.jamieisaacs.com/

3
Jamie

Découvrez cette vidéo de démonstration pour la mise en œuvre de Long Polling (comète) .. Cela pourrait vous aider tous

http://www.screenr.com/SNH

2
nitin

N'ayant jamais utilisé cette technique et étudié le article Wikipedia sur le sujet, "Long Polling" semble être la seule solution viable. Cela semble assez simple à implémenter en bouclant et en dormant à l'infini un script sur le serveur. Il y a code réel dans la page de streaming HTTP lié à l'article Wikipedia.

Avez-vous essayé tout cela et êtes tombé sur des problèmes spécifiques?

2
deceze

Vous pouvez jeter un oeil à cela article , c'est un très bon début pour comprendre les concepts de programmation des comètes.

Vous y trouverez deux exemples. Le premier utilise la technique iframe tandis que le second utilise une connexion persistante.

1
dasilvj

Pour IIS, il y a WebSync . Puisque vous utilisez PHP, cependant, vous pourriez être mieux avec WebSync On-Demand . L'un ou l'autre vous donnera le serveur Push que vous recherchez et est simple à utiliser. Découvrez aussi cette quête n, ce qui est fondamentalement ce que vous recherchez.

Voici n exemple simple de WebSync On-Demand en action en utilisant aucun langage de script. Ouvrez simplement dans deux fenêtres et voyez la publication/abonnement en action.

Pour publier à partir du serveur, vous pouvez utiliser le PHP api .

0
jvenema