Je peux facilement utiliser javascript pour actualiser automatiquement la page toutes les 10 sec par exemple, mais cela ne va-t-il pas surcharger la page et demander des changements toutes les 10 secondes? Y a-t-il un moyen plus efficace de le faire? Quelqu'un m'a dit une fois qu'il y a un moyen pour que le client attende une réponse du serveur qui ne l'envoie que quand il y a vraiment un changement, par exemple un copain a écrit un texte dans le chat. Est-ce vraiment faisable à faire? Y a-t-il un meilleur moyen? Pourquoi actualiser une page de discussion?Quel est le meilleur moyen de rafraîchir automatiquement un chat pag
Répondre
Pourquoi ne pas simplement vérifier le serveur pour voir s'il y a de nouveaux messages/chats etc. Si oui, ajoutez ceux-ci à votre boîte de discussion.
Demandez à votre minuterie (setTimeOut) le feu jamais dit 5 secondes:
code pseudo rapide:
function updateChat()
{
//Query a web service on the server for new text chat
//If successful append the chat to the chat area
//Call timeout again.
setTimeout(updateChat, 500);
}
Edit: Voyant que vous avez je .NET supposerons que vous utilisez ASP.NET. Voici un lien vers un programme de chat de démonstration:
http://trappedinhoth.blogspot.com/2009/04/ajax-jquery-chat-demo.html
Vous pouvez appliquer OutputCache sur le côté serveur. De cette manière, le serveur n'a besoin que de générer 1 réponse par 10 secondes
Vous pouvez essayer la nouvelle technologie WebSockets en JavaScript. Il n'est pas supporté par de nombreux navigateurs (seuls Firefox 4, Chrome 4 et Safari 5 le supportent actuellement), mais il permet à la connexion au serveur de rester "ouverte" et le serveur peut alors envoyer un message au client. Plus d'infos:
- 1. comment rafraîchir automatiquement la liste des utilisateurs dans le chat
- 2. Quel est le meilleur moyen de renvoyer un identifiant de guidage créé automatiquement?
- 3. Quel est le meilleur moyen de redimensionner un objet BitmapData?
- 4. Quel est le meilleur moyen de sécuriser un webservice?
- 5. Quel est le meilleur moyen de fermer un thread WCF?
- 6. Quel est le meilleur moyen d'afficher un menu déroulant?
- 7. Cocoa - Quel est le meilleur moyen de modifier NSOutlineView
- 8. Quel est le meilleur moyen de communication interprocesseur sous Linux?
- 9. Quel est le meilleur moyen de créer des propriétés dérivées?
- 10. Quel est le meilleur moyen de gérer QUERY_STRING en PHP?
- 11. Quel est le meilleur moyen de copier une liste?
- 12. Quel est le meilleur moyen de développer javascript?
- 13. Quel est le meilleur moyen d'exécuter mes méthodes de test?
- 14. Quel est le meilleur moyen de lier les données tabulaires
- 15. Quel est le meilleur moyen de lire l'audio via Qt?
- 16. Quel est le meilleur moyen de faire throbber en C#?
- 17. Quel est le meilleur moyen de déployer des applications Web?
- 18. Quel est le meilleur moyen de restaurer une transaction .net?
- 19. Quel est le meilleur moyen de structurer sémantiquement une FAQ?
- 20. Quel est le meilleur moyen de comparer plusieurs propriétés javabéennes?
- 21. Quel est le meilleur moyen d'afficher des commentaires dans ASP.NET?
- 22. quel est le meilleur moyen d'écrire une fonction php mysql?
- 23. Quel est le meilleur moyen de détecter automatiquement les dépendances de bibliothèque dans un projet C/C++?
- 24. Quel est le meilleur moyen d'interroger des données SharePoint?
- 25. Quel est le meilleur moyen d'obtenir la valeur de quel utilisateur est connecté?
- 26. Quel est le meilleur moyen de faire défiler automatiquement une vue de liste vers le dernier élément ajouté?
- 27. Quel est le moyen le plus rapide de rafraîchir les algorithmes pour une interview technique (lundi)?
- 28. Meilleur moyen de rediriger automatiquement vers un site Web
- 29. Quel est le meilleur moyen de capturer une fenêtre d'application en C#?
- 30. Quel est le meilleur moyen de cataloguer un contrôle WPF dans un dataset typé?
ok, thats une bonne solution, mais pas beaucoup d'appels à de serveur? Est-ce vraiment efficace? Y a-t-il un autre moyen? –
@Giancarlo Solarino ~ http://google.com/search?q=premature+optimization ... abandonner, cesser d'essayer de deviner ce que trop de charge est. Écrivez-le correctement, puis voyez si c'est trop chargé. À titre de référence, les serveurs peuvent gérer ce type de charge pour des milliers d'utilisateurs, sans aucun impact perceptible. – jcolebrand
Il est plus efficace de charger que d'actualiser une page entière. C'est une approche similaire au fonctionnement du chat FaceBook. –