Maison > Article > développement back-end > Utilisez PHP pour développer Websocket et créer un système de transmission de messages en temps réel
Utilisez PHP pour développer WebSocket et créer un système de transmission de messages en temps réel
// 创建WebSocket服务器实例,监听指定端口 $server = new SwooleWebSocketServer('0.0.0.0', 9501); // 监听WebSocket连接打开事件 $server->on('open', function (SwooleWebSocketServer $server, SwooleHttpRequest $request) { echo "WebSocket连接打开 "; }); // 监听WebSocket消息事件 $server->on('message', function (SwooleWebSocketServer $server, SwooleWebSocketFrame $frame) { echo "收到消息:{$frame->data} "; // 推送消息给所有连接的客户端 $server->push($frame->fd, "服务器收到消息:{$frame->data}"); }); // 监听WebSocket连接关闭事件 $server->on('close', function (SwooleWebSocketServer $server, int $fd) { echo "WebSocket连接关闭 "; }); // 启动WebSocket服务器 $server->start();
Le code ci-dessus utilise l'extension Swoole pour créer une instance de serveur WebSocket et écouter le port 9501. Chaque fois qu'un client se connecte, envoie un message ou ferme une connexion, le gestionnaire d'événements correspondant est déclenché.
<!DOCTYPE html> <html> <head> <title>WebSocket示例</title> </head> <body> <script type="text/javascript"> // 创建WebSocket对象,与服务器建立连接 var ws = new WebSocket('ws://localhost:9501'); // 监听WebSocket连接打开事件 ws.onopen = function () { console.log('WebSocket连接已打开'); }; // 监听WebSocket消息事件 ws.onmessage = function (event) { console.log('收到消息:' + event.data); }; // 监听WebSocket连接关闭事件 ws.onclose = function () { console.log('WebSocket连接已关闭'); }; // 发送消息 function sendMessage() { var message = document.getElementById('message').value; ws.send(message); } </script> <input type="text" id="message" placeholder="输入消息" /> <button onclick="sendMessage()">发送消息</button> </body> </html>
Le code ci-dessus utilise JavaScript côté navigateur pour créer un objet WebSocket et établir une connexion avec le serveur. En écoutant les événements WebSocket, des fonctions telles que la réception de messages, l'envoi de messages et la capture des fermetures de connexion peuvent être implémentées.
Maintenant, vous pouvez saisir un message sur la page client et l'envoyer, et le serveur recevra et répondra au message correspondant. Parallèlement, le message reçu sera affiché sur la page client.
Les capacités de communication en temps réel de WebSocket offrent davantage de possibilités de développement Web, particulièrement adaptées aux scénarios tels que les applications de chat, la surveillance en temps réel et les notifications. Je pense que cet article peut vous aider à démarrer le développement de WebSocket et inspirer plus de créativité et d'idées.
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!