Rumah  >  Artikel  >  rangka kerja php  >  Cara memasang dan memanggil Swoole (perkongsian langkah)

Cara memasang dan memanggil Swoole (perkongsian langkah)

PHPz
PHPzasal
2023-03-28 10:17:362307semak imbas

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:

  1. Gunakan Komposer untuk memasang

Masukkan arahan dalam baris arahan. : komposer memerlukan swoole/swoole, iaitu Versi terbaru Swoole boleh dipasang.

  1. Muat turun dan pemasangan manual

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

  1. untuk mencipta perkhidmatan

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);
  1. Daftar fungsi panggil balik

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";
});
  1. Mulakan perkhidmatan

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.

  1. Buat klien tak segerak

Anda boleh mencipta klien TCP tak segerak melalui kod berikut:

$client = new Swoole\Coroutine\Client(SWOOLE_TCP, SWOOLE_ASYNC);
  1. Sambung ke pelayan

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");
});
  1. Terima data yang dikembalikan oleh pelayan

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";
});
  1. Program pelaksanaan

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn