Comment écrire un salon de discussion simple via PHP

PHPz
Libérer: 2023-09-25 10:48:02
original
977 Les gens l'ont consulté

Comment écrire un salon de discussion simple via PHP

Comment écrire un salon de discussion simple via PHP

Introduction :
Un salon de discussion est une application qui permet une communication instantanée sur Internet. Grâce à la technologie de programmation réseau de PHP, nous pouvons facilement créer une salle de discussion simple. Cet article explique comment écrire une salle de discussion Web simple via PHP afin que plusieurs utilisateurs puissent communiquer en temps réel sur la même page.

Étape 1 : Concevoir l'interface de discussion
Tout d'abord, nous devons concevoir une interface similaire à une fenêtre de discussion, où les utilisateurs peuvent envoyer des messages et afficher les messages d'autres utilisateurs. Cette interface peut être implémentée à l'aide des technologies HTML et CSS. Voici un exemple simple :

<html>
<head>
  <style>
    .messages {
      height: 300px;
      overflow: scroll;
      border: 1px solid #ccc;
      padding: 10px;
    }
  </style>
</head>
<body>
  <div class="messages">
    <!-- 在这里显示聊天消息 -->
  </div>
  <input type="text" id="message" placeholder="输入消息">
  <button id="send">发送</button>

  <script>
    // 在这里编写JavaScript代码,用于处理用户的输入和显示聊天消息
  </script>
</body>
</html>
Copier après la connexion

Étape 2 : Traiter la saisie de l'utilisateur et afficher le message de discussion
Dans le code HTML ci-dessus, nous avons ajouté une zone de texte (avec l'identifiant "message") pour les messages de saisie de l'utilisateur, et un bouton (l'identifiant est "envoyer") pour que les utilisateurs envoient des messages. Nous pouvons utiliser JavaScript pour gérer les entrées des utilisateurs et afficher les messages de discussion.

// 创建WebSocket对象
var socket = new WebSocket('ws://localhost:8000');

// 监听WebSocket的连接事件
socket.onopen = function() {
  console.log('WebSocket已连接');
};

// 监听WebSocket的消息接收事件
socket.onmessage = function(event) {
  var message = event.data;
  showMessage(message);
};

// 监听发送按钮的点击事件
document.getElementById('send').addEventListener('click', function() {
  var message = document.getElementById('message').value;
  socket.send(message);
  document.getElementById('message').value = '';
});

// 显示聊天消息
function showMessage(message) {
  var messagesDiv = document.getElementsByClassName('messages')[0];
  messagesDiv.innerHTML += '<p>' + message + '</p>';
}
Copier après la connexion

Troisième étape : créer un serveur PHP
Maintenant, nous devons créer un serveur PHP pour recevoir et diffuser des messages de discussion. Un serveur WebSocket peut être créé à l'aide de la bibliothèque d'extensions WebSocket de PHP. Voici un exemple simple de serveur PHP :

<?php
$server = new WebSocketServer('0.0.0.0', 8000);

// 监听连接事件
$server->on('connect', function($client) {
  echo '客户端已连接' . PHP_EOL;
});

// 监听消息接收事件
$server->on('message', function($client, $message) use ($server) {
  echo '收到消息:' . $message . PHP_EOL;
  $server->broadcast($message);
});

// 监听断开连接事件
$server->on('disconnect', function($client) {
  echo '客户端已断开连接' . PHP_EOL;
});

// 启动服务器
$server->start();
?>
Copier après la connexion

Dans le code ci-dessus, nous créons un serveur WebSocket et implémentons des écouteurs d'événements pour la connexion, la réception de messages et la déconnexion. Lors de l'événement de réception de message, nous diffusons le message reçu à tous les clients connectés.

Étape 4 : Exécutez la salle de discussion
Enregistrez le code HTML ci-dessus en tant que fichier PHP, tel que "chat.php", et enregistrez le serveur PHP sous un autre fichier, tel que "server.php". Ensuite, exécutez le fichier du serveur PHP :

php server.php
Copier après la connexion

Ensuite, ouvrez plusieurs pages "chat.php" dans votre navigateur Web et essayez de saisir un message dans la zone de saisie du chat et envoyez-le. Vous constaterez que tous les clients connectés au serveur peuvent recevoir des messages d'autres clients en temps réel.

Résumé :
Grâce à la technologie PHP et WebSocket, nous pouvons créer une salle de discussion Web simplement et rapidement. Dans cet article, nous avons expliqué comment concevoir une interface de discussion, gérer les entrées des utilisateurs et afficher les messages de discussion, ainsi que créer un serveur PHP pour recevoir et diffuser des messages de discussion. Espérons que cet exemple simple vous aidera à comprendre comment écrire une salle de discussion simple en utilisant PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!