Rumah >rangka kerja php >Swoole >Cara memasang dan memanggil Swoole (perkongsian langkah)
Swoole ialah rangka kerja komunikasi rangkaian berdasarkan bahasa PHP Ia boleh menyediakan pelayan dan klien protokol HTTP, WebSocket dan TCP/UDP tak segerak, serentak, berprestasi tinggi. Ia sangat berguna dalam membangunkan perkhidmatan Web dan aplikasi komunikasi rangkaian digunakan, digunakan secara meluas dalam beberapa syarikat Internet.
Artikel ini akan memperkenalkan cara menggunakan panggilan Swoole.
1. Pasang Swoole
Sebelum menggunakan Swoole, anda perlu memasangnya terlebih dahulu. Anda boleh menggunakan Komposer atau memuat turun dan memasangnya secara manual ke dalam sambungan PHP Langkah-langkahnya adalah seperti berikut:
Masukkan arahan dalam baris arahan. : komposer memerlukan swoole/swoole, iaitu Versi terbaru Swoole boleh dipasang.
Muat turun pemampatan kod sumber Swoole di tapak web rasmi Swoole (https://www.swoole.com/) pakej , nyahzipnya dan laksanakan arahan berikut pada baris arahan untuk memasang:
$ phpize $ ./configure $ make && make install
2. Panggil Swoole
Sebelum memulakan perkhidmatan Swoole, anda perlu membuat perkhidmatan terlebih dahulu. Anda boleh membuat HTTP, WebSocket, TCP/UDP dan jenis perkhidmatan lain Ambil perkhidmatan HTTP sebagai contoh:
$serv = new Swoole\Http\Server("127.0.0.1", 9501);
Selepas mencipta. perkhidmatan, Fungsi panggil balik perlu didaftarkan dalam perkhidmatan Fungsi panggil balik ialah logik pemprosesan selepas pelayan menerima permintaan klien, seperti membalas permintaan, memproses data, dsb. Dalam perkhidmatan HTTP, anda boleh mempunyai fungsi panggil balik berikut:
(1) onStart
Apabila perkhidmatan bermula, laksanakan fungsi ini.
$serv->on('start', function ($server) { echo "Swoole http server is started at http://127.0.0.1:9501\n"; });
(2)onRequest
Laksanakan fungsi ini apabila permintaan HTTP diterima.
$serv->on('request', function ($request, $response) { $response->header("Content-Type", "text/html; charset=utf-8"); $response->end("Hello Swoole"); });
(3)onClose
Laksanakan fungsi ini apabila sambungan ditutup.
$serv->on('close', function ($server, $fd) { echo "client {$fd} close\n"; });
Selepas melengkapkan penciptaan perkhidmatan dan pendaftaran fungsi panggil balik, anda perlu memulakan perkhidmatan.
$serv->start();
Dengan cara ini, perkhidmatan HTTP mudah dibuat.
3. Laksanakan bukan penyekatan tak segerak
Swoole mempunyai ciri seperti coroutine, tak segerak dan tidak menyekat, dan boleh mencapai kedua-dua penyekatan segerak dan tidak sekatan tak segerak . Menggunakan ciri coroutine yang disediakan oleh Swoole boleh meningkatkan prestasi program PHP.
Seterusnya, mari kita lihat cara melaksanakan komunikasi tidak menyekat tak segerak.
Anda boleh mencipta klien TCP tak segerak melalui kod berikut:
$client = new Swoole\Coroutine\Client(SWOOLE_TCP, SWOOLE_ASYNC);
Menggunakan klien tak segerak untuk menghantar permintaan sambungan ke pelayan memerlukan menetapkan fungsi panggil balik sambungan.
$client->connect('127.0.0.1', 9501, function ($client) { $client->send("hello world"); });
Selepas sambungan berjaya, gunakan kaedah recv untuk menerima data yang dikembalikan oleh pelayan untuk menetapkan fungsi panggil balik.
$client->recv(function ($client, $data) { echo "received data: {$data}\n"; });
Menggunakan ciri coroutine yang disediakan oleh Swoole, anda boleh melakukan penggantungan coroutine dan operasi lain tanpa menyekat pelaksanaan program.
Ciri tidak sekatan tak segerak Swoole boleh meningkatkan prestasi program dengan sangat baik, terutamanya dalam kesesuaian tinggi, komunikasi rangkaian dan senario lain. Menggunakan Swoole untuk membangunkan aplikasi komunikasi rangkaian boleh dengan mudah melaksanakan komunikasi tidak menyekat tak segerak, meningkatkan daya pemprosesan pelayan, dan dengan itu meningkatkan pengalaman pengguna.
Atas ialah kandungan terperinci Cara memasang dan memanggil Swoole (perkongsian langkah). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!