Rumah >pembangunan bahagian belakang >tutorial php >Gunakan php untuk membangunkan Websocket untuk melaksanakan fungsi sembang segera
Gunakan PHP untuk membangunkan Websocket bagi melaksanakan fungsi sembang segera
Websocket ialah protokol komunikasi dupleks penuh, sesuai untuk senario komunikasi masa nyata, seperti sembang segera, kemas kini data masa nyata, dsb. Sebagai bahasa pengaturcaraan sebelah pelayan yang popular, PHP juga boleh melaksanakan fungsi Websocket melalui perpustakaan dan sambungan yang berkaitan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP untuk membangunkan Websocket Contoh kod khusus adalah seperti berikut.
Pertama, anda perlu memastikan pelayan menyokong protokol Websocket. Dalam PHP, anda boleh menggunakan perpustakaan Ratchet untuk melaksanakan pelayan Websocket. Ratchet ialah perpustakaan berasaskan ReactPHP yang menyediakan antara muka operasi yang mudah dan fleksibel.
Gunakan Komposer untuk memasang perpustakaan Ratchet, yang boleh dilaksanakan dalam direktori projek melalui arahan berikut:
composer require cboden/ratchet
direktori akar fail projek dan tulis kod berikut:
<?php require __DIR__.'/vendor/autoload.php'; use RatchetMessageComponentInterface; use RatchetConnectionInterface; use RatchetServerIoServer; use RatchetHttpHttpServer; use RatchetWebSocketWsServer; class Chat 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) { foreach ($this->clients as $client) { if ($client !== $from) { $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 occurred: {$e->getMessage()} "; $conn->close(); } } $server = IoServer::factory( new HttpServer( new WsServer( new Chat() ) ), 8080 ); echo "Server running at http://localhost:8080 "; $server->run();
Masukkan direktori akar projek pada baris arahan dan laksanakan arahan berikut untuk memulakan pelayan Websocket:
rreeePada ketika ini , pelayan Websocket telah dimulakan dan sedang mendengar pada port 8080. Ia boleh diakses melalui http://localhost:8080.
Buat fail bernama index.html dalam direktori projek dan tulis kod berikut:
php -f server.php
Buka fail index.html dalam penyemak imbas dan anda akan melihat fail untuk menghantar mesej kotak input dan butang. Masukkan mesej dalam kotak input dan klik butang hantar untuk menghantar mesej ke pelayan.
Buka berbilang tetingkap atau tab penyemak imbas, masukkan mesej yang berbeza masing-masing, dan klik butang hantar. Anda akan mendapati bahawa mesej akan disiarkan kepada semua pelanggan yang disambungkan.
Pada ketika ini, kami telah berjaya membangunkan pelayan Websocket mudah menggunakan PHP untuk melaksanakan fungsi sembang segera. Melalui enkapsulasi perpustakaan Ratchet, kami boleh melaksanakan aplikasi Websocket yang kompleks dengan cepat. Saya harap artikel ini membantu anda, dan saya mengucapkan selamat berprogram!
Atas ialah kandungan terperinci Gunakan php untuk membangunkan Websocket untuk melaksanakan fungsi sembang segera. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!