à long sondage - Quelles sont les méthodes pour déterminer quand vous avez de nouvelles données?

StackOverflow https://stackoverflow.com/questions/1835275

Question

Disons que j'ai un programme de chat que chaque fois que quelqu'un envoie un message, un globalfile est verrouillé et écrit. Le client a reçu une demande en instance XMLHTTP qui attend de revenir avec le fichier récemment mis à jour en utilisant cette construction:

while (!hasNewdata())
{    sleep 3;    }
print "$thenewdata";
sub hasNewData()
{
     # determine if global file has been appended to.
}

Would envoyer la taille du fichier au client, puis sur le serveur lors de la prochaine demande de sondage est une bonne méthode de le faire, comme nous pouvons maintenant vérifier si la taille du fichier est différent de ce qui a déjà été renvoyé au client de sorte que nous savons qu'il ya de nouvelles données. Ou serait d'envoyer le fichier de décalage avant et en arrière une meilleure approche pour qu'il sache où dans le fichier pour vérifier les nouvelles données? Ou une autre méthode complètement autre chose que d'utiliser un fichier global « chat »?

Quelles sont les méthodes générales de détermination « de nouvelles données disponibles »

Était-ce utile?

La solution

Vous pouvez utiliser la date de modification.

$last_modified = filemtime("thisfile.php");

Autres conseils

La taille du fichier est pas une si mauvaise façon.

Les navigateurs pourraient bien être déjà Tagging "si-Modified-Since" têtes aux demandes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top