Rumah pembangunan bahagian belakang tutorial php Bermula dengan cepat: Tutorial untuk membangunkan dan melaksanakan fungsi PHP WebSocket

Bermula dengan cepat: Tutorial untuk membangunkan dan melaksanakan fungsi PHP WebSocket

Sep 12, 2023 pm 12:34 PM
php websocket 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.

  1. Pasang Komposer: Lawati https://getcomposer.org/ untuk memuat turun dan memasang Komposer.
  2. Buat direktori projek: Cipta folder baharu dalam mana-mana direktori sebagai direktori akar projek.
  3. Mulakan projek Komposer: Beralih ke direktori akar projek pada baris arahan, jalankan arahan composer init dan isikan maklumat projek seperti yang digesa. composer init,按照提示填写项目信息。
  4. 安装Ratchet:在命令行中运行命令composer require cboden/ratchet,Composer将会自动下载并安装Ratchet库及其依赖。

三、实现一个简单的WebSocket服务器
在已经搭建好的开发环境中,我们可以开始编写WebSocket服务器的代码了。

  1. 创建一个新的PHP文件,命名为"server.php"。
  2. 引入Ratchet库相关文件:在文件开头添加以下代码:

    <?php
    require __DIR__.'/vendor/autoload.php';
    use RatchetMessageComponentInterface;
    use RatchetConnectionInterface;
    Salin selepas log masuk
  3. 实现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
  4. 启动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

Pasang Ratchet: Jalankan arahan composer require cboden/ratchet dalam baris arahan, Composer akan memuat turun dan memasang pustaka Ratchet dan kebergantungannya secara automatik.


3. Laksanakan pelayan WebSocket yang ringkas
    Dalam persekitaran pembangunan yang telah disediakan, kita boleh mula menulis kod pelayan WebSocket.
  1. Buat fail PHP baharu bernama "server.php".

  2. 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>
Salin selepas log masuk


Laksanakan kelas pelayan WebSocket: Tambah kod berikut dalam fail:

rrreee

Mulakan pelayan WebSocket Tambahkan kod berikut pada penghujung fail:
rrreee

🎜🎜4 Jalankan pelayan WebSocket🎜Dalam baris arahan, masukkan direktori di mana "server.php" terletak dan jalankan arahan 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!

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)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
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)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

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

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

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

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

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

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

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

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

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

Panduan Ringkas CakePHP Panduan Ringkas CakePHP Sep 10, 2024 pm 05:27 PM

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.

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

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

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

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,

See all articles