Jadual Kandungan
Swoole dan WebSocket
Langkah 1: Penyediaan persekitaran projek
Langkah 2: Mulakan pelayan WebSocket
Langkah 3: Interaksi data
Pelayan menghantar data kepada pelanggan
Pelanggan menghantar data ke pelayan
Contoh kod penuh
Rumah rangka kerja php Swoole Cara menggunakan Swoole untuk melaksanakan interaksi pelayan dan klien WebSocket

Cara menggunakan Swoole untuk melaksanakan interaksi pelayan dan klien WebSocket

Nov 07, 2023 pm 02:15 PM
websocket interaksi swoole

Cara menggunakan Swoole untuk melaksanakan interaksi pelayan dan klien WebSocket

WebSocket telah menjadi protokol komunikasi masa nyata yang biasa digunakan dalam aplikasi web moden. Membangunkan pelayan WebSocket menggunakan PHP secara amnya memerlukan penggunaan sambungan seperti Swoole, kerana ia menyediakan sokongan untuk pengaturcaraan tak segerak, pengurusan proses, pemetaan memori dan ciri berkaitan WebSocket yang lain. Dalam artikel ini, kami akan membincangkan cara menggunakan Swoole untuk melaksanakan interaksi pelayan-pelanggan WebSocket dan menyediakan beberapa contoh kod khusus.

Swoole dan WebSocket

Swoole ialah sambungan PHP yang sangat baik yang menyediakan sokongan yang sangat baik untuk melaksanakan pelayan WebSocket. Swoole menyokong pengaturcaraan tak segerak dan akses serentak berbilang proses dan berbilang benang. Ia menguruskan kitaran hayat pelayan dan menyediakan ciri berguna lain seperti pemetaan memori. WebSocket ialah protokol komunikasi masa nyata yang biasa digunakan dalam aplikasi Web moden Menggunakan Swoole untuk membangunkan pelayan WebSocket membolehkan kami melaksanakan komunikasi masa nyata dengan mudah dengan pelanggan.

Langkah 1: Penyediaan persekitaran projek

Mula-mula anda perlu memasang sambungan Swoole, yang boleh dipasang melalui arahan berikut:

pecl install swoole
Salin selepas log masuk

Selepas pemasangan, anda perlu memasangnya dalam php.ini Tambahkan konfigurasi berikut pada fail:

extension=swoole
Salin selepas log masuk

Selepas menyelesaikan operasi di atas, anda boleh menggunakan sambungan Swoole dalam PHP.

Seterusnya, anda perlu membina klien WebSocket secara setempat Anda boleh menggunakan beberapa alatan rangkaian atau memasang pemalam penyemak imbas Chrome "Simple WebSocket Client".

Langkah 2: Mulakan pelayan WebSocket

Dalam proses ini, anda perlu membuat contoh pelayan Swoole WebSocket dahulu dan melakukan beberapa konfigurasi asas, seperti menetapkan port mendengar dan Alamat IP pelayan WebSocket , dan juga perlu memproses pelbagai acara dan data pelayan WebSocket. Berikut ialah contoh mudah:

$server = new SwooleWebsocketServer("0.0.0.0", 9501);

$server->on('open', function (SwooleWebSocketServer $server, $request) {
    echo "connection open: {$request->fd}
";
});

$server->on('message', function (SwooleWebSocketServer $server, $frame) {
    echo "received message: {$frame->data}
";
    $server->push($frame->fd, json_encode(["hello", "world"]));
});

$server->on('close', function (SwooleWebSocketServer $server, $fd) {
    echo "connection close: {$fd}
";
});

$server->start();
Salin selepas log masuk

Dalam kod di atas, tika pelayan WebSocket dibuat menggunakan kata kunci baharu. Pembinanya perlu memasukkan alamat IP dan nombor port, dan Swoole akan mendengar sambungan WebSocket pada port ini. Kemudian, beberapa fungsi panggil balik digunakan untuk mengendalikan acara buka, mesej dan tutup pelayan WebSocket masing-masing. Akhir sekali, panggil kaedah $server->start() untuk memulakan pelayan WebSocket.

Selepas mencipta contoh pelayan WebSocket, anda boleh mengendalikan semua acara pengguna dengan mengikat semula panggilan balik acara. Sebagai contoh, kita boleh mengendalikan acara terbuka sambungan klien WebSocket ke pelayan dengan mengikat semula fungsi panggil balik 'terbuka'.

Langkah 3: Interaksi data

Terdapat dua cara untuk klien dan pelayan WebSocket berinteraksi: pelayan boleh menolak data kepada klien, dan klien juga boleh menghantar data ke pelayan WebSocket.

Pelayan menghantar data kepada pelanggan

Pelayan boleh menolak data kepada pelanggan tertentu atau semua pelanggan menggunakan kaedah $server->push(). Berikut ialah contoh mudah:

$server->push($frame->fd, json_encode(["hello", "world"]));
Salin selepas log masuk

Dalam kod di atas, $frame->fd ialah pengecam unik pelanggan. Sambungan WebSocket boleh dianggap sebagai sambungan TCP yang terbuka kepada pelayan, di mana klien dikenal pasti oleh pengecam unik ($frame->fd).

Pelanggan menghantar data ke pelayan

Pelanggan boleh menggunakan API WebSocket yang ditulis dalam JavaScript untuk menghantar data ke pelayan. Berikut ialah coretan kod JavaScript ringkas yang menunjukkan cara menghantar data ke pelayan WebSocket.

const socket = new WebSocket('ws://localhost:9501');
socket.addEventListener('open', function (event) {
    socket.send('Hello World!'); // 发送数据
});
Salin selepas log masuk

Komunikasi antara klien dan pelayan adalah berasaskan peristiwa, jadi data yang diterima perlu diproses melalui pengendali acara. Fungsi panggil balik perlu terikat pada acara WebSocket 'mesej', yang akan bertanggungjawab untuk memproses data yang diterima. Berikut ialah contoh mudah:

$server->on('message', function (SwooleWebSocketServer $server, $frame) {
    echo "received message: {$frame->data}
";
});
Salin selepas log masuk

Contoh kod penuh

Berikut ialah contoh pelayan Swoole WebSocket yang lengkap, menunjukkan cara menggunakan Swoole untuk mewujudkan pelayan WebSocket dan berkomunikasi dengan Interaksi klien.

Salin selepas log masuk

Pelayan WebSocket ini akan mendengar dan mengendalikan sambungan WebSocket pada port 9501. Anda boleh menggunakan mana-mana klien WebSocket untuk menguji dan meneroka contoh pelayan ini.

Atas ialah kandungan terperinci Cara menggunakan Swoole untuk melaksanakan interaksi pelayan dan klien WebSocket. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mencapai komunikasi masa nyata menggunakan PHP dan WebSocket Bagaimana untuk mencapai komunikasi masa nyata menggunakan PHP dan WebSocket Dec 17, 2023 pm 10:24 PM

Dengan perkembangan teknologi Internet yang berterusan, komunikasi masa nyata telah menjadi bahagian yang amat diperlukan dalam kehidupan seharian. Komunikasi masa nyata yang cekap, kependaman rendah boleh dicapai menggunakan teknologi WebSockets, dan PHP, sebagai salah satu bahasa pembangunan yang paling banyak digunakan dalam bidang Internet, juga menyediakan sokongan WebSocket yang sepadan. Artikel ini akan memperkenalkan cara menggunakan PHP dan WebSocket untuk mencapai komunikasi masa nyata, dan menyediakan contoh kod khusus. 1. Apakah itu WebSocket?

PHP dan WebSocket: Amalan terbaik untuk pemindahan data masa nyata PHP dan WebSocket: Amalan terbaik untuk pemindahan data masa nyata Dec 18, 2023 pm 02:10 PM

PHP dan WebSocket: Kaedah Amalan Terbaik untuk Pemindahan Data Masa Nyata Pengenalan: Dalam pembangunan aplikasi web, pemindahan data masa nyata merupakan keperluan teknikal yang sangat penting. Protokol HTTP tradisional ialah protokol model tindak balas permintaan dan tidak boleh mencapai penghantaran data masa nyata dengan berkesan. Untuk memenuhi keperluan penghantaran data masa nyata, protokol WebSocket telah wujud. WebSocket ialah protokol komunikasi dupleks penuh yang menyediakan cara untuk berkomunikasi dupleks penuh melalui sambungan TCP tunggal. Berbanding dengan H

Cara menggunakan coroutine swoole dalam laravel Cara menggunakan coroutine swoole dalam laravel Apr 09, 2024 pm 06:48 PM

Menggunakan coroutine Swoole dalam Laravel boleh memproses sejumlah besar permintaan secara serentak. Kelebihannya termasuk: Pemprosesan serentak: membolehkan berbilang permintaan diproses pada masa yang sama. Prestasi tinggi: Berdasarkan mekanisme acara epoll Linux, ia memproses permintaan dengan cekap. Penggunaan sumber yang rendah: memerlukan lebih sedikit sumber pelayan. Mudah untuk disepadukan: Penyepaduan lancar dengan rangka kerja Laravel, mudah digunakan.

Bagaimanakah Java Websocket melaksanakan fungsi papan putih dalam talian? Bagaimanakah Java Websocket melaksanakan fungsi papan putih dalam talian? Dec 17, 2023 pm 10:58 PM

Bagaimanakah JavaWebsocket melaksanakan fungsi papan putih dalam talian? Dalam era Internet moden, orang ramai memberi lebih banyak perhatian kepada pengalaman kerjasama dan interaksi masa nyata. Papan putih dalam talian ialah fungsi yang dilaksanakan berdasarkan Websocket Ia membolehkan berbilang pengguna bekerjasama dalam masa nyata untuk mengedit papan lukisan yang sama dan menyelesaikan operasi seperti lukisan dan anotasi. Ia menyediakan penyelesaian yang mudah untuk pendidikan dalam talian, mesyuarat jarak jauh, kerjasama pasukan dan senario lain. 1. Latar belakang teknikal WebSocket ialah protokol baharu yang disediakan oleh HTML5

SSE dan WebSocket SSE dan WebSocket Apr 17, 2024 pm 02:18 PM

Dalam artikel ini, kami akan membandingkan Acara Dihantar Pelayan (SSE) dan WebSockets, kedua-duanya adalah kaedah yang boleh dipercayai untuk menyampaikan data. Kami akan menganalisisnya dalam lapan aspek, termasuk arah komunikasi, protokol asas, keselamatan, kemudahan penggunaan, prestasi, struktur mesej, kemudahan penggunaan dan alat ujian. Perbandingan aspek-aspek ini diringkaskan seperti berikut: Kategori Peristiwa Dihantar Pelayan (SSE) WebSocket Arah Komunikasi Sehala Dwi-arah Protokol Pendasar HTTP WebSocket Protocol Keselamatan Sama seperti HTTP Kerentanan keselamatan sedia ada Kemudahan penggunaan Tetapan Tetapan mudah Prestasi kompleks Kelajuan penghantaran mesej pantas Dijejaskan oleh pemprosesan mesej dan pengurusan sambungan Struktur mesej Teks biasa atau binari Kemudahan penggunaan Tersedia secara meluas Berguna untuk penyepaduan WebSocket

Hidupkan interaksi skrin belah dalam win11 Hidupkan interaksi skrin belah dalam win11 Dec 25, 2023 pm 03:05 PM

Dalam sistem win11, kami boleh mendayakan berbilang monitor untuk menggunakan sistem yang sama dan beroperasi bersama-sama dengan menghidupkan interaksi skrin pisah Walau bagaimanapun, ramai rakan tidak tahu cara menghidupkan interaksi skrin pisah tetapan sistem yang berikut ialah Bangun dan belajar. Bagaimana untuk membuka interaksi skrin belah dalam win11 1. Klik pada menu Mula dan cari "Tetapan" 2. Kemudian cari tetapan "Sistem" di sana. 3. Selepas memasukkan tetapan sistem, pilih "Paparan" di sebelah kiri 4. Kemudian pilih "Perluaskan paparan ini" dalam berbilang paparan di sebelah kanan.

golang Petua pengaturcaraan WebSocket: mengendalikan sambungan serentak golang Petua pengaturcaraan WebSocket: mengendalikan sambungan serentak Dec 18, 2023 am 10:54 AM

Golang ialah bahasa pengaturcaraan yang berkuasa, dan penggunaannya dalam pengaturcaraan WebSocket semakin dihargai oleh pembangun. WebSocket ialah protokol berasaskan TCP yang membenarkan komunikasi dua hala antara klien dan pelayan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Golang untuk menulis pelayan WebSocket yang cekap yang mengendalikan berbilang sambungan serentak pada masa yang sama. Sebelum memperkenalkan teknik, mari kita pelajari dahulu apa itu WebSocket. Pengenalan kepada WebSocketWeb

Cara menggunakan WebSocket untuk pemindahan fail dalam golang Cara menggunakan WebSocket untuk pemindahan fail dalam golang Dec 18, 2023 am 09:06 AM

Cara menggunakan WebSocket untuk pemindahan fail dalam golang WebSocket ialah protokol rangkaian yang menyokong komunikasi dua hala dan boleh mewujudkan sambungan berterusan antara penyemak imbas dan pelayan. Dalam golang, kita boleh menggunakan gorila/soket web perpustakaan pihak ketiga untuk melaksanakan fungsi WebSocket. Artikel ini akan memperkenalkan cara menggunakan perpustakaan golang dan gorila/soket web untuk pemindahan fail. Pertama, kita perlu memasang gorila

See all articles