Dengan perkembangan pesat teknologi komunikasi masa nyata, WebSockets telah menjadi pilihan ramai pembangun web, dan rangka kerja Laravel tidak terkecuali. Dengan Laravel Echo Server, pembangun web boleh melaksanakan pelayan WebSockets dengan mudah dan membina aplikasi komunikasi masa nyata dengan cepat. Artikel ini akan menyediakan panduan permulaan terperinci dengan Pelayan Echo Laravel untuk membantu anda memahami cara menggunakannya untuk melaksanakan komunikasi masa nyata dalam aplikasi Laravel.
Laravel Echo Server ialah projek sumber terbuka Ia adalah pelayan komunikasi masa nyata untuk Laravel Echo Ia boleh digunakan dengan Laravel Echo untuk melaksanakan komunikasi WebSockets. Laravel Echo ialah perpustakaan JavaScript yang membolehkan pembangun menyambungkan aplikasi ke pelayan WebSockets menggunakan sintaks mudah. Pelayan Echo Laravel bertindak sebagai pelayan.
Dalam Pelayan Echo Laravel, pembangun boleh mencipta pelayan komunikasi masa nyata menggunakan Node.js dan Socket.io. Laravel Echo Server adalah berdasarkan Socket.io dan menyediakan API dan konsol mudah untuk memudahkan pengguna membina pelayan WebSockets.
Mula-mula anda perlu memasang Node.js dan npm. Jika anda telah memasangnya, langkau langkah ini.
Pasang Node.js dan npm
sudo apt-get update sudo apt-get install nodejs sudo apt-get install npm
Selepas pemasangan selesai, sila sahkan sama ada Node.js dan npm berjaya dipasang.
node -v npm -v
Seterusnya, anda boleh memasang Laravel Echo Server menggunakan npm. Masukkan arahan berikut dalam terminal untuk memasang:
sudo npm install -g laravel-echo-server
Setelah pemasangan selesai, anda boleh menyemak versi Laravel Echo Server menggunakan arahan berikut:
laravel-echo-server -v
dalam Sebelum menggunakan Laravel Echo Server, anda perlu mengkonfigurasi aplikasi Laravel anda untuk berkomunikasi dengan pelayan WebSocket. Selepas versi Laravel 5.6, rangka kerja Laravel mempunyai pembekal perkhidmatan Pusher terbina dalam. Dalam config/broadcasting.php anda boleh mencari konfigurasi untuk pembekal perkhidmatan Pusher.
Secara lalai, rangka kerja Laravel menggunakan penyedia perkhidmatan Pusher untuk mengendalikan acara siaran. Walau bagaimanapun, jika anda ingin menggunakan Laravel Echo Server, anda perlu mengubah suai fail ini supaya Laravel Echo boleh mendengar acara siaran pada pelayan WebSocket.
Sebelum mengubah suai fail config/broadcasting.php, anda perlu memasang kebergantungan komposer.
composer require predis/predis
Sekarang, buka fail config/broadcasting.php dan tukar pemacu siaran kepada redis.
'connections' => [ 'redis' => [ 'driver' => 'redis', 'connection' => 'default', ], ],
Seterusnya, anda perlu memasang perkhidmatan Redis dan memulakannya. Redis boleh dipasang menggunakan arahan berikut:
sudo apt-get install -y redis-server
Mulakan perkhidmatan redis:
sudo systemctl start redis
Sekarang, aplikasi Laravel sedia untuk berkomunikasi dengan Pelayan Echo Laravel.
Dalam bahagian ini, kami akan mengkonfigurasi Pelayan Echo Laravel dan memulakannya. Laravel Echo Server menyediakan fail konfigurasi ringkas yang boleh anda konfigurasikan pelayan WebSocket dengan menukar tetapan fail. Secara lalai, Laravel Echo Server menggunakan storan fail untuk menyimpan data pelanggan, tetapi anda boleh memilih untuk menggunakan Redis untuk menyimpan data pelanggan.
Sebelum menggunakan Pelayan Echo Laravel, anda perlu mencipta fail konfigurasi. Anda boleh menggunakan arahan berikut untuk mencipta fail konfigurasi dalam direktori root aplikasi anda.
laravel-echo-server init
Selepas menjalankan arahan init, Laravel Echo Server akan mencipta fail konfigurasi laravel-echo-server.json baharu. Anda boleh menggunakan arahan berikut untuk mengedit fail konfigurasi.
nano laravel-echo-server.json
Dalam editor anda akan melihat tetapan lalai untuk profil. Berikut ialah beberapa tetapan biasa yang boleh anda ubah mengikut keperluan.
{ "authHost": "http://localhost", "authEndpoint": "/broadcasting/auth", "clients": [], "database": "redis", "databaseConfig": { "redis": {}, "sqlite": { "databasePath": "/database/laravel-echo-server.sqlite" } }, "devMode": false, "host": null, "port": "6001", "protocol": "http", "socketio": {}, "sslCertPath": "", "sslKeyPath": "", "sslCertChainPath": "", "sslPassphrase": "", "subscribers": { "http": true, "redis": true }, "apiOriginAllow": { "allowCors": false, "allowOrigin": "", "allowMethods": "", "allowHeaders": "" } }
Tukar dan simpan fail konfigurasi mengikut persekitaran sebenar anda.
Selepas melengkapkan konfigurasi, gunakan arahan berikut untuk memulakan Laravel Echo Server.
laravel-echo-server start
Laravel Echo Server kini telah berjaya dimulakan dan boleh digunakan untuk melaksanakan pelayan WebSocket.
Komunikasi masa nyata adalah sangat mudah dengan Laravel Echo Server. Dalam Laravel, hanya siarkan acara menggunakan:
broadcast(new WebsocketDemoEvent($user, $message));
Ini akan menyiarkan acara WebsocketDemoEvent baharu pada Pelayan Gema Laravel. Sila pastikan anda telah memulakan Laravel Echo Server menggunakan arahan di atas dalam konsol.
Laravel Echo Server menyediakan antara muka pengurusan mesra yang boleh anda akses melalui penyemak imbas untuk melihat maklumat status pelayan WebSocket. Secara lalai, antara muka pengurusan terletak di http://localhost:6001.
Di sini, artikel ini memperkenalkan cara menggunakan Laravel Echo Server untuk melaksanakan pelayan WebSockets. Laravel Echo Server menyediakan cara mudah untuk mengendalikan komunikasi masa nyata, yang menjadikan WebSockets sangat berguna kepada pelbagai pembangun web. Jika anda sedang mencari cara mudah untuk melaksanakan komunikasi masa nyata, cuba Laravel Echo Server.
Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk melaksanakan pelayan WebSockets menggunakan Pelayan Echo Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!