Le système de chat en temps réel est devenu une partie importante des plateformes sociales modernes. Étant donné que PHP est l'un des langages de programmation Web les plus populaires, cet article vous présentera la façon d'utiliser PHP pour réaliser des fonctions d'affichage d'état en ligne et de statistiques utilisateur en ligne dans les systèmes de chat en temps réel. Nous expliquerons en détail comment gérer le statut en ligne via le mécanisme de session de PHP et comment utiliser les minuteries pour compter les utilisateurs en ligne.
L'affichage d'état en ligne est un indicateur important dans le système de chat, qui peut refléter si l'utilisateur est en ligne. Dans l'interface d'un système de chat, les utilisateurs veulent généralement voir si l'objet avec lequel ils communiquent est en ligne et peut rapidement recevoir des réponses. Pour réaliser l'écran d'état en ligne, vous devez utiliser le mécanisme de session de PHP.
La session est un protocole utilisé dans la programmation Web pour stocker les informations utilisateur. Grâce à la session, les applications Web peuvent stocker des données liées à l'utilisateur côté serveur, plutôt que de stocker les données dans les cookies du navigateur de l'utilisateur. De cette façon, la session peut partager des informations entre plusieurs pages et gérer efficacement l'état de session de l'utilisateur.
Lorsqu'un utilisateur se connecte au système de chat, le serveur démarre une session et enregistre le temps de connexion de l'utilisateur. Chaque fois que l'utilisateur fait une demande, le système vérifie si la session expire. Si la session expire, l'utilisateur sera marqué hors ligne et son statut en ligne sera supprimé de la base de données; Si la session n'a pas expiré, le système mettra à jour le statut en ligne de l'utilisateur pour s'assurer que son statut en ligne se reflète en temps réel.
Ce qui suit est un exemple de code qui implémente la fonction d'affichage d'état en ligne:
session_start (); // Démarrer la session if (isset ($ _ session ['last_activity']) && (time () - $ _Session ['last_activity']> 60)) { // utilisateur hors ligne $ user_id = $ _Session ['user_id']; // Supprimer l'état de l'utilisateur $ query = "Supprimer de` Users_online` où `user_id` = '$ user_id'"; $ result = mysqli_query ($ link, $ query); // Session claire session_unset (); session_destroy (); } autre { // utilisateur en ligne $ user_id = $ _Session ['user_id']; // Mettre à jour l'état de l'utilisateur $ query = "Update` Users_online` SET `Last_Activity` = Now () Where` User_id` = '$ user_id' "; $ result = mysqli_query ($ link, $ query); }
Les statistiques des utilisateurs en ligne sont une autre fonctionnalité clé du système de chat. Le nombre d'utilisateurs en ligne dépend du mécanisme de la minuterie de PHP pour interroger régulièrement le nombre d'utilisateurs en ligne.
Une minuterie est un mécanisme qui peut exécuter du code dans un intervalle de temps spécifique. Les minuteries de PHP permettent aux développeurs d'exécuter automatiquement les opérations de script à des points de temps prédéterminés en définissant des intervalles de sondage.
Nous pouvons périodiquement interroger la table d'utilisateurs en ligne en utilisant une minuterie PHP et compter le nombre d'utilisateurs actuellement en ligne. Ce qui suit est l'exemple de code de rythme cardiaque qui implémente le comptage des utilisateurs en ligne:
set_time_limit (0); // Utilisez PHP Timer While (true) { $ query = "SELECT COUNT (*) AS Online_users à partir de` Users_online` où `Last_Activity`> Date_sub (maintenant (), intervalle 1 minute)"; $ result = mysqli_query ($ link, $ query); $ online_users = mysqli_fetch_array ($ result, mysqli_assoc) ['online_users']; Echo "Nombre actuel de personnes en ligne:". $ online_users; ob_flush (); flush(); sommeil (10); // requête toutes les 10 secondes}
Dans cet exemple, nous utilisons une boucle infinie pour interroger en continu le tableau en ligne de l'utilisateur. Grâce aux fonctions ob_flush () et flush (), le nombre d'utilisateurs en ligne est sorti en temps réel. Le programme sera interrompu toutes les 10 secondes pour s'assurer que l'intervalle de sondage est raisonnable.
L'affichage d'état en ligne et le comptage des utilisateurs en ligne sont des fonctionnalités essentielles de chaque système de chat. Cet article présente comment utiliser le mécanisme de session de PHP pour réaliser l'affichage de l'état en ligne des utilisateurs et comment compter le nombre actuel d'utilisateurs en ligne via les minuteries. Grâce à ces technologies, les développeurs peuvent gérer efficacement l'état en ligne des utilisateurs et fournir des commentaires en temps réel aux utilisateurs.