Websocket ialah protokol komunikasi dupleks penuh yang membolehkan komunikasi masa nyata antara penyemak imbas dan pelayan. Dalam tapak web e-dagang, Websocket boleh digunakan untuk melaksanakan fungsi pengesyoran produk masa nyata untuk membantu pengguna mencari produk yang mereka perlukan dengan lebih baik.
Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan Websocket bagi melaksanakan fungsi pengesyoran produk masa nyata dan memberikan contoh kod khusus.
1. Keperluan
Sebelum memulakan pembangunan, kita perlu memenuhi keperluan berikut:
2. Pasang sambungan swoole
Mula-mula, kita perlu memasang sambungan swoole. swoole menyediakan kelas asas dan model dipacu peristiwa untuk membangunkan Websocket, yang sangat memudahkan pembangunan Websocket.
Dalam persekitaran Linux, anda boleh memasang sambungan swoole melalui arahan berikut:
pecl install swoole
Dalam persekitaran Windows, anda boleh memuat turun versi yang sepadan dari tapak web rasmi swoole (https://windows.php.net/downloads/pecl/releases /swoole/) sambungan swoole, dan ekstraknya ke direktori sambungan php, dan tambah baris berikut pada fail php.ini:
extension=swoole.so
3. Bangunkan Websocket
Seterusnya, kita mula membangunkan Websocket. Mula-mula, buat fail websocket.php untuk mengendalikan sambungan Websocket.
<?php // 创建Websocket服务器 $server = new swoole_websocket_server("0.0.0.0", 9501); // 监听WebSocket连接打开事件 $server->on('open', function (swoole_websocket_server $server, $request) { echo "WebSocket连接建立成功! "; }); // 监听WebSocket消息事件 $server->on('message', function (swoole_websocket_server $server, $frame) { echo "WebSocket收到消息:{$frame->data} "; // 处理推荐商品逻辑 // ... // 返回推荐商品列表 $server->push($frame->fd, json_encode([ ['name' => '商品1', 'price' => 10], ['name' => '商品2', 'price' => 20], ['name' => '商品3', 'price' => 30], ])); }); // 监听WebSocket连接关闭事件 $server->on('close', function ($server, $fd) { echo "WebSocket连接关闭! "; }); // 启动Websocket服务器 $server->start();
Kod di atas mencipta pelayan Websocket, memantau permintaan sambungan daripada klien dan mencetuskan fungsi panggil balik yang sepadan apabila peristiwa seperti penetapan sambungan yang berjaya, penerimaan mesej dan penutupan sambungan berlaku.
Dalam acara mesej yang diterima, kita boleh menulis logik cadangan produk dan mengembalikan hasil pengesyoran kepada pelanggan.
4. Pelanggan menggunakan Websocket
Dalam pelanggan, kami perlu menggunakan JavaScript untuk membuat sambungan Websocket dan menghantar mesej untuk mendapatkan produk yang disyorkan.
// 创建Websocket连接 var ws = new WebSocket("ws://127.0.0.1:9501"); // 监听Websocket连接打开事件 ws.onopen = function() { console.log("Websocket连接建立成功!"); // 发送消息 ws.send("Hello, Server!"); }; // 监听Websocket消息事件 ws.onmessage = function(event) { var data = JSON.parse(event.data); console.log("推荐商品列表:", data); }; // 监听Websocket连接关闭事件 ws.onclose = function() { console.log("Websocket连接关闭!"); };
Dalam kod di atas, kami mencipta sambungan WebSocket, mendengar acara pembukaan sambungan, mesej dan penutup sambungan, dan menghantar mesej selepas sambungan berjaya diwujudkan untuk mendapatkan produk yang disyorkan.
5. Ringkasan
Artikel ini memperkenalkan cara menggunakan PHP untuk membangunkan Websocket untuk merealisasikan fungsi pengesyoran produk masa nyata, dan menyediakan pelaksanaan kod khusus.
Melalui Websocket, kami boleh mencapai komunikasi masa nyata dan pertukaran data, menyediakan perkhidmatan yang lebih baik kepada pengguna tapak web e-dagang. Pada masa yang sama, Websocket juga boleh digunakan dalam bidang lain, seperti permainan dalam talian, persidangan video, dsb.
Atas ialah kandungan terperinci Gunakan php untuk membangunkan Websocket untuk melaksanakan fungsi cadangan produk masa nyata. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!