ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して Websocket を開発し、リアルタイム メッセージ プッシュ システムを作成する
PHP を使用して WebSocket を開発し、リアルタイム メッセージ プッシュ システムを作成する
// 创建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();上記のコードは、Swoole 拡張機能を使用して WebSocket サーバー インスタンスを作成し、ポート 9501 をリッスンします。クライアントが接続するか、メッセージを送信するか、接続を閉じるたびに、対応するイベント ハンドラーがトリガーされます。
<!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>上記のコードは、ブラウザ側で JavaScript を使用して WebSocket オブジェクトを作成し、サーバーとの接続を確立します。 WebSocket イベントをリッスンすることで、メッセージの受信、送信、接続クロージャのキャプチャなどの機能を実装できます。
以上がPHP を使用して Websocket を開発し、リアルタイム メッセージ プッシュ システムを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。