


Bermula dengan cepat: Tutorial untuk membangunkan dan melaksanakan fungsi PHP WebSocket
Mulakan dengan pantas: Tutorial tentang pembangunan dan pelaksanaan WebSocket PHP
Pengenalan:
WebSocket ialah protokol standard terbuka untuk komunikasi masa nyata Ia boleh mewujudkan sambungan berterusan antara penyemak imbas dan pelayan untuk mencapai komunikasi dua hala . Dalam pembangunan Web, WebSocket digunakan secara meluas dalam sembang masa nyata, pemberitahuan masa nyata, kerjasama berbilang orang dan senario lain. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan aplikasi WebSocket dan melaksanakan fungsi dengan cepat.
1. Apakah itu WebSocket?
WebSocket ialah protokol untuk komunikasi dupleks penuh pada sambungan TCP tunggal Ia membolehkan pelayan menghantar mesej secara proaktif kepada pelanggan dengan mewujudkan sambungan berterusan semasa fasa jabat tangan protokol HTTP. Berbanding dengan permintaan HTTP tradisional, WebSocket lebih cekap dan masa nyata.
2. Pembinaan persekitaran pembangunan WebSocket PHP
Untuk membangunkan PHP WebSocket, kita perlu membina persekitaran yang sepadan. Mula-mula, pastikan anda mempunyai persekitaran PHP yang dipasang pada komputer anda. Kemudian, pasang perpustakaan Ratchet melalui Komposer Ratchet ialah perpustakaan WebSocket yang disyorkan secara rasmi untuk PHP dan menyediakan satu siri kelas dan kaedah yang mudah digunakan.
- Pasang Komposer: Lawati https://getcomposer.org/ untuk memuat turun dan memasang Komposer.
- Buat direktori projek: Cipta folder baharu dalam mana-mana direktori sebagai direktori akar projek.
- Mulakan projek Komposer: Beralih ke direktori akar projek pada baris arahan, jalankan arahan
composer init
dan isikan maklumat projek seperti yang digesa.composer init
,按照提示填写项目信息。 - 安装Ratchet:在命令行中运行命令
composer require cboden/ratchet
,Composer将会自动下载并安装Ratchet库及其依赖。
三、实现一个简单的WebSocket服务器
在已经搭建好的开发环境中,我们可以开始编写WebSocket服务器的代码了。
- 创建一个新的PHP文件,命名为"server.php"。
-
引入Ratchet库相关文件:在文件开头添加以下代码:
<?php require __DIR__.'/vendor/autoload.php'; use RatchetMessageComponentInterface; use RatchetConnectionInterface;
Salin selepas log masuk 实现WebSocket服务器类:在文件中添加以下代码:
class MyWebSocketServer implements MessageComponentInterface{ protected $clients; public function __construct() { $this->clients = new SplObjectStorage; } public function onOpen(ConnectionInterface $conn) { $this->clients->attach($conn); echo "New connection! ({$conn->resourceId}) "; } public function onMessage(ConnectionInterface $from, $msg) { $numRecv = count($this->clients) - 1; echo sprintf('Connection %d sending message "%s" to %d other connection%s'." ", $from->resourceId, $msg, $numRecv, $numRecv == 1 ? '' : 's'); foreach ($this->clients as $client) { if ($from !== $client) { $client->send($msg); } } } public function onClose(ConnectionInterface $conn) { $this->clients->detach($conn); echo "Connection {$conn->resourceId} has disconnected "; } public function onError(ConnectionInterface $conn, Exception $e) { echo "An error has occurred: {$e->getMessage()} "; $conn->close(); } }
Salin selepas log masuk启动WebSocket服务器:在文件末尾添加以下代码:
use RatchetServerIoServer; use RatchetHttpHttpServer; use RatchetWebSocketWsServer; $server = IoServer::factory( new HttpServer( new WsServer( new MyWebSocketServer() ) ), 8080 ); $server->run();
Salin selepas log masuk
四、运行WebSocket服务器
在命令行中,进入到"server.php"所在的目录,运行命令php server.php
composer require cboden/ratchet
dalam baris arahan, Composer akan memuat turun dan memasang pustaka Ratchet dan kebergantungannya secara automatik. - Dalam persekitaran pembangunan yang telah disediakan, kita boleh mula menulis kod pelayan WebSocket.
- Buat fail PHP baharu bernama "server.php". Perkenalkan fail berkaitan perpustakaan Ratchet: Tambahkan kod berikut pada permulaan fail:
<!DOCTYPE html> <html> <head> <title>WebSocket Client</title> </head> <body> <script> var ws = new WebSocket("ws://localhost:8080"); ws.onopen = function() { console.log("WebSocket connection established."); }; ws.onmessage = function(evt) { var receivedMsg = evt.data; console.log("Received message: " + receivedMsg); }; ws.onclose = function() { console.log("WebSocket connection closed."); }; </script> </body> </html>
rrreee
Mulakan pelayan WebSocket Tambahkan kod berikut pada penghujung fail:
rrreee
php server.php.
. Jika semuanya dikonfigurasikan dengan betul, anda akan melihat pelayan dimulakan dengan jayanya. 🎜🎜5. Tulis klien WebSocket🎜Untuk menguji pelayan WebSocket yang kami tulis, kami perlu menulis klien WebSocket yang mudah. 🎜🎜🎜Buat fail HTML baharu bernama "client.html". 🎜🎜🎜Tambah kod berikut dalam fail HTML: 🎜rrreee🎜🎜🎜 6. Larian ujian🎜Buka fail "client.html" bertulis dalam penyemak imbas. Juga pastikan pelayan WebSocket berjalan. Anda kini seharusnya melihat konsol mencetak maklumat mengenai sambungan WebSocket yang diwujudkan dan mesej yang diterima. 🎜🎜7. Fungsi lanjutan🎜Melalui langkah di atas, anda telah berjaya membangunkan PHP WebSocket asas dan melaksanakan fungsi penghantaran dan penerimaan mesej asas. Anda boleh mengembangkan lagi fungsi pelayan dan klien mengikut keperluan, seperti pengesahan pengguna, pengurusan bilik, penyulitan penghantaran data, dsb. 🎜🎜Kesimpulan: 🎜Artikel ini memperkenalkan secara ringkas cara menggunakan PHP untuk membangunkan aplikasi WebSocket, dan melaksanakan fungsi sembang WebSocket yang mudah melalui langkah-langkah seperti menyediakan persekitaran, menulis kod pelayan, menjalankan pelayan dan menulis klien. Dengan mengkaji dan memahami kandungan artikel ini, anda boleh dengan cepat memulakan pembangunan PHP WebSocket dan menggunakan keupayaan komunikasi masa nyatanya untuk mencapai lebih banyak fungsi dan aplikasi. 🎜
Atas ialah kandungan terperinci Bermula dengan cepat: Tutorial untuk membangunkan dan melaksanakan fungsi PHP WebSocket. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

CakePHP ialah rangka kerja MVC sumber terbuka. Ia menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP mempunyai beberapa perpustakaan untuk mengurangkan beban tugas yang paling biasa.

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,
