2010-02-23 8 views
2

Je suis intéressé à faire une notification de type stackoverflow sur mon site web. Je sais qu'il y a quelques questions sur ce sujet, mais toutes concernent le côté client css et ajax.Notification HTML: Que faire sur le serveur

Je voudrais savoir la meilleure façon de gérer les choses du côté serveur (jsp). Je veux aviser tous les utilisateurs utilisant actuellement le système que le serveur va tomber. Donc, je peux faire une base de données avec toutes les informations nécessaires, et quand l'enregistrement est réglé sur actif, sort le div de notification. Première question, est-ce la meilleure façon de gérer cette partie?

La prochaine partie est, comment puis-je obtenir la notification. Les seules solutions auxquelles j'ai pensé sont d'interroger depuis le site web avec jQuery ou de vérifier seulement quand les pages sont chargées. Je sais qu'il y a des poussées comme des choses (comète, inverse ajax) mais n'ont aucune expérience avec celles-ci. Seraient-ils utiles dans cette situation ou seraient-ils exagérés? Est-ce que le sondage (plutôt simple) est la meilleure façon de faire?

+0

L'implémentation de notification de SO est essentiellement à la fois client et serveur. Le web utilise essentiellement la récupération de données et le 'data-pushing' est imité en utilisant ajax. À moins bien sûr que vous utilisiez applet/activex/flash/silverlight, etc. –

Répondre

1

Je voudrais aborder cela à partir d'un angle distinct. Si vous deviez donner plus de préavis, disons 30 minutes, alors il suffit de s'inquiéter de l'affichage du message au chargement de la page. Si quelqu'un charge une page si rarement qu'il ne voit pas ce message, il est probable que l'interrogation ne va pas non plus aider la majorité de cette audience. Je dirais que l'approche de sondage se traduira par beaucoup de pertes inutiles sur votre site Web 99% du temps il semble.

+0

Pour la plupart des applications, c'est la voie à suivre. Mais mon application a quelques cas où un utilisateur pourrait être assis sur la même page pendant 25+ minutes. Et ces redémarrages sont souvent annoncés 30 minutes avant. Ainsi, dans la plupart des cas, la notification fonctionnera comme prévu, mais il peut y avoir quelques utilisateurs qui ne seront pas notifiés. – UmYeah

0

Je dirais qu'un terrain d'entente possible pour vous serait de se greffer sur d'autres demandes ajax. Ainsi, au lieu d'interroger, saisissez l'opportunité d'intercepter une requête que l'utilisateur effectuait pour une autre raison, et d'inclure des informations sur la baisse de la base de données. Vous pouvez le mettre dans le corps de la réponse, ou même un cookie ou un en-tête http.