Workerman ialah rangka kerja soket PHP berprestasi tinggi yang dibangunkan berdasarkan PHP Ia digunakan untuk membangunkan aplikasi rangkaian dan mempunyai kelebihan kecekapan, kestabilan dan kebolehskalaan. Ciri terbesar ialah ia menyokong konkurensi tinggi dan boleh mengendalikan berjuta-juta sambungan TCP.
Dalam artikel ini, kami akan memperkenalkan cara menggunakan Workerman untuk melaksanakan sistem visualisasi data masa nyata, termasuk cara menggunakan Workerman untuk membina pelayan WebSocket, cara menggunakan API WebSocket JavaScript untuk mendapatkan data masa nyata dan cara untuk gunakan perpustakaan alat D3.js untuk melukis carta visual.
Pemasangan Workerman adalah sangat mudah untuk menggunakan Composer. Lakukan operasi berikut dalam terminal:
composer require workerman/workerman
Langkah-langkah untuk membina pelayan WebSocket adalah seperti berikut:
require_once __DIR__ . '/vendor/autoload.php'; use WorkermanWorker; use WorkermanLibTimer; use WorkermanConnectionTcpConnection; $ws_worker = new Worker("websocket://0.0.0.0:2346"); $ws_worker->onConnect = function (TcpConnection $connection) { echo "client connected "; }; $ws_worker->onMessage = function (TcpConnection $connection, $data) { $connection->send(json_encode(array( 'value' => rand(1, 100) ))); }; $ws_worker->onClose = function (TcpConnection $connection) { echo "client closed "; }; $ws_worker->onWorkerStart = function (Worker $ws_worker) { // 每隔1秒钟向所有客户端推送一次随机数据 Timer::add(1, function () use ($ws_worker) { foreach ($ws_worker->connections as $connection) { $connection->send(json_encode(array( 'value' => rand(1, 100) ))); } }); }; Worker::runAll();
Kod ini melaksanakan fungsi berikut:
php server.php start
Kod terutamanya melaksanakan fungsi berikut:
Buat sambungan WebSocketvar ws = new WebSocket('ws://localhost:2346'); ws.onmessage = function (event) { var data = JSON.parse(event.data); console.log(data.value); }
Kod ini terutamanya melaksanakan fungsi berikut:
Cre
;Atas ialah kandungan terperinci Cara menggunakan Workerman untuk melaksanakan sistem visualisasi data masa nyata. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!