Gunakan PHP untuk membangunkan WebSocket dan mencipta sistem push mesej masa nyata
// 创建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();
Kod di atas menggunakan sambungan Swoole untuk mencipta contoh pelayan WebSocket dan mendengar port 9501. Setiap kali pelanggan menyambung, menghantar mesej atau menutup sambungan, pengendali acara yang sepadan akan dicetuskan.
<!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>
Kod di atas menggunakan JavaScript pada bahagian pelayar untuk mencipta objek WebSocket dan mewujudkan sambungan dengan pelayan. Dengan mendengar acara WebSocket, fungsi seperti menerima mesej, menghantar mesej dan menangkap penutupan sambungan boleh dilaksanakan.
Kini, anda boleh memasukkan mesej pada halaman pelanggan dan menghantarnya, dan pelayan akan menerima dan membalas mesej yang sepadan. Pada masa yang sama, mesej yang diterima akan dipaparkan pada halaman klien.
Keupayaan komunikasi masa nyata WebSocket memberikan lebih banyak kemungkinan untuk pembangunan web, terutamanya sesuai untuk senario seperti aplikasi sembang, pemantauan masa nyata dan pemberitahuan. Saya percaya artikel ini boleh membantu anda memulakan pembangunan WebSocket dan memberi inspirasi kepada lebih banyak kreativiti dan idea.
Atas ialah kandungan terperinci Gunakan php untuk membangunkan Websocket dan mencipta sistem tolak mesej masa nyata. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!