Dengan populariti aplikasi web, tolakan mesej masa nyata telah menjadi ciri yang sangat diperlukan bagi banyak tapak web, seperti sembang dalam talian, pemberitahuan masa nyata, dsb. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP7.0 untuk menolak mesej masa nyata.
1. Apakah itu tolak mesej masa nyata?
Tekanan mesej masa nyata bermakna aplikasi web boleh menolak mesej terkini kepada pelanggan dalam masa nyata tanpa pelanggan sentiasa meminta pelayan untuk mendapatkan data terkini. Ini dicapai melalui prinsip kerja WebSocket. WebSocket ialah protokol komunikasi dupleks penuh berdasarkan protokol TCP, yang boleh mewujudkan sambungan yang mampan antara pelanggan dan pelayan untuk mencapai push mesej masa nyata.
2 Persediaan untuk menggunakan PHP untuk push mesej masa nyata
Untuk menggunakan PHP untuk push mesej masa nyata, kita perlu melakukan beberapa persediaan terlebih dahulu:
1. Pasang sambungan PHP
Pertama, kita perlu memasang sambungan swoole untuk PHP. Swoole ialah enjin komunikasi rangkaian PHP tak segerak dan serentak yang boleh melaksanakan komunikasi WebSocket dengan mudah. Kita boleh menggunakan arahan berikut untuk memasang:
pecl install swoole
2. Buat pelayan WebSocket
Seterusnya, kita perlu mencipta pelayan WebSocket untuk mendengar permintaan pelanggan. Di sini kami menggunakan kelas WebSocket yang disediakan oleh sambungan swoole untuk melaksanakannya Kodnya adalah seperti berikut:
<?php // 创建WebSocket服务器 $server = new swoole_websocket_server("0.0.0.0", 9501); // 监听WebSocket连接打开事件 $server->on('open', function (swoole_websocket_server $server, $request) { echo "Opened WebSocket connection from {$request->fd} "; }); // 监听WebSocket消息事件 $server->on('message', function (swoole_websocket_server $server, $frame) { echo "Received message: {$frame->data} "; // 向客户端发送消息 $server->push($frame->fd, "Hello, {$frame->data}!"); }); // 监听WebSocket连接关闭事件 $server->on('close', function (swoole_websocket_server $server, $fd) { echo "Closed WebSocket connection from {$fd} "; }); // 启动WebSocket服务器 $server->start();
Dalam kod di atas, kami mencipta pelayan WebSocket dan mendengar tiga acara: sambungan terbuka, mesej dan ditutup. sambungan. Apabila pelanggan berhubung, kami akan menghantar mesej "selamat datang" Apabila pelanggan menghantar mesej, kami menghantar mesej terus kepada pelanggan.
3 Komunikasi antara klien dan pelayan WebSocket
1 Uji pelayan WebSocket
Untuk menguji pelayan WebSocket, kami boleh menggunakan "Simple WebSocket Client. " pemalam penyemak imbas Chrome. Buka antara muka pemalam, masukkan alamat dan port pelayan WebSocket (contohnya: ws://127.0.0.1:9501/), dan klik butang "Sambung" untuk menyambung ke pelayan WebSocket.
2. Hantar mesej
Selepas sambungan berjaya, kita boleh masukkan mesej dalam kotak input dan klik butang "Hantar" untuk menghantar mesej. Pelayan WebSocket akan menghantar mesej kepada klien dan mencetak mesej yang diterima dalam konsol.
3. Kesimpulan
Artikel ini memperkenalkan cara menggunakan PHP7.0 untuk push mesej masa nyata, mencipta pelayan WebSocket melalui kelas WebSocket yang disediakan oleh sambungan swoole, dan kemudian menyambung ke Pelayan WebSocket melalui pelanggan untuk mencapai keupayaan komunikasi Masa Nyata. Apabila membangunkan fungsi tolakan mesej masa nyata, isu seperti prestasi masa nyata, kebolehpercayaan dan keselamatan perlu diambil kira ketersediaan dan kestabilan.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan PHP7.0 untuk menolak mesej masa nyata?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!