Rumah rangka kerja php Laravel Pembangunan Laravel: Bagaimana untuk melaksanakan komunikasi WebSockets menggunakan Laravel Echo Server?

Pembangunan Laravel: Bagaimana untuk melaksanakan komunikasi WebSockets menggunakan Laravel Echo Server?

Jun 14, 2023 pm 03:09 PM
laravel echo server websocketscommunication pembangunan laravel

Pembangunan Laravel: Bagaimana untuk menggunakan Laravel Echo Server untuk melaksanakan komunikasi WebSockets?

Dalam aplikasi web moden, komunikasi pemesejan masa nyata adalah penting. WebSockets ialah protokol untuk komunikasi dua hala. Selain HTTP, WebSockets membenarkan pelayan menghantar mesej kepada klien apabila perlu.

Laravel Echo Server ialah pelayan WebSockets yang dibina pada Node.js untuk komunikasi mesej masa nyata. Ia membolehkan anda menggunakan pakej Laravel Echo untuk berkomunikasi dengan mudah dengan pelanggan melalui WebSockets, menjadikannya lebih mudah untuk mewujudkan komunikasi masa nyata.

Dalam artikel ini, kita akan membincangkan cara menggunakan Laravel Echo Server untuk melaksanakan komunikasi WebSockets.

Langkah 1 - Pemasangan Laravel dan Laravel Echo

Sebelum menggunakan Laravel Echo Server, kita perlu memasang Laravel dan kebergantungannya.

Kita boleh mendapatkan maklumat lanjut tentang Laravel di: https://laravel.com/docs/8.x/installation

Begitu juga, dalam artikel ini, Laravel juga perlu dipasang Echo bag . Kita boleh memasangnya menggunakan Komposer:

$ composer require laravel/echo
Salin selepas log masuk

Langkah 2 - Pasang Laravel Echo Server

Sekarang, kita perlu memasang Laravel Echo Server.

$ npm install -g laravel-echo-server
Salin selepas log masuk

Langkah 3 - Fail Konfigurasi

Setelah Pelayan Echo Laravel dipasang, kita perlu mencipta fail konfigurasi. Fail konfigurasi lalai boleh dijana menggunakan arahan berikut:

$ laravel-echo-server init
Salin selepas log masuk

Ini akan menjana fail laravel-echo-server.json dalam direktori semasa.

Seterusnya, kami perlu mengubah suai beberapa konfigurasi fail ini untuk memastikan ia memenuhi keperluan aplikasi kami.

Dalam fail laravel-echo-server.json, kita perlu mengkonfigurasi sifat berikut:

{
    "authHost": "http://your-app.com",
    "authEndpoint": "/broadcasting/auth",
    "clients": [],
    "database": "redis",
    "databaseConfig": {
        "redis": {
            "host": "127.0.0.1",
            "port": "6379"
        }
    },
    "devMode": true,
    "host": null,
    "port": "6001",
    "protocol": "http",
    "socketio": {},
    "sslCertPath": "",
    "sslKeyPath": "",
    "sslCertChainPath": "",
    "sslPassphrase": "",
    "subscribers": {
        "http": true,
        "redis": true
    },
    "apiOriginAllow": {
        "allowCors": false,
        "allowOrigin": "",
        "allowMethods": "",
        "allowHeaders": ""
    }
}
Salin selepas log masuk
  • authHost: Mentakrifkan alamat yang akan didengari oleh Pelayan Echo (umumnya sama seperti alamat permohonan) ).
  • authEndpoint: Mentakrifkan bahawa Pelayan Echo akan menunggu pada alamat ini untuk pelanggan menghantar maklumat Pengesahan untuk pengesahan.
  • database: Mentakrifkan jenis pangkalan data yang digunakan oleh Echo Server untuk menyimpan maklumat sambungan dan saluran.
  • databaseConfig: Konfigurasi pangkalan data khusus, di sini kami menggunakan Redis.
  • devMode: Jika ditetapkan kepada benar, anda akan melihat log nyahpepijat.
  • host: Tentukan alamat yang didengari oleh Pelayan Echo. Jika tidak ditetapkan, Echo Server akan mendengar pada semua antara muka rangkaian yang tersedia.
  • port: Tentukan port yang didengari oleh Pelayan Echo.
  • protocol: Tentukan protokol yang digunakan oleh Pelayan Echo.
  • socketio: Untuk parameter konfigurasi lanjutan, sila rujuk dokumentasi.
  • sslCertPath: Laluan ke sijil akar SSL.
  • sslKeyPath: Laluan ke kunci SSL.
  • sslCertChainPath: Digunakan untuk memuat naik rantaian sijil akar SSL pilihan.
  • sslPassphrase: Nilai ini mungkin diperlukan jika kunci SSL ditulis.
  • subscribers: Mentakrifkan jenis pelanggan yang boleh melanggan Pelayan Echo.
  • apiOriginAllow: Hos yang membenarkan permintaan merentas domain.

Setelah kami melengkapkan konfigurasi di atas dan menyimpan fail laravel-echo-server.json, kami boleh memulakan Pelayan Echo menggunakan arahan berikut:

$ laravel-echo-server start
Salin selepas log masuk

Langkah 4 - Kod Frontend

Kini, kami perlu memperkenalkan pakej Echo ke dalam kod bahagian hadapan kami. Pastikan anda menambah kod berikut di bahagian bawah

<script src="https://cdn.jsdelivr.net/npm/laravel-echo@1.9.3/dist/echo.js"></script>
Salin selepas log masuk

Dalam fail JavaScript anda tambahkan kod berikut:

import Echo from 'laravel-echo'

window.Echo = new Echo({
    broadcaster: 'socket.io',
    host: window.location.hostname + ':6001',
    auth: {
        headers: {
            'Authorization': 'Bearer ' + token
        }
    }
});

window.Echo.channel('YourChannel')
    .listen('YourEvent', (e) => {
        console.log(e);
    });
Salin selepas log masuk

Ini akan menyambung ke pelayan Echo dan mengesahkan menggunakan panggilan kebenaran. Saluran YourChannel juga akan dibuat dan mendengar acara YourEvent.

Langkah 5 - Senario Aplikasi

Kini, kami telah berjaya mengkonfigurasi Pelayan Echo Laravel dan kod bahagian hadapan. Kami boleh menggunakan alatan ini untuk pelbagai senario aplikasi, seperti:

  • Aplikasi bilik sembang masa nyata
  • Ulasan blog masa nyata
  • Status pengguna masa nyata kemas kini

Perlu diambil perhatian bahawa Echo Server hanya melaksanakan bahagian pelayan komunikasi WebSockets. Jika kita perlu melaksanakan fungsi komunikasi masa nyata, kita juga perlu melaksanakan logik yang sepadan dalam aplikasi.

Kita boleh menggunakan ciri broadcast Laravel untuk melaksanakan logik ini. Lihat dokumentasi Laravel untuk cara menggunakan siaran.

Kesimpulan

Dalam artikel ini, kami memperincikan cara untuk melaksanakan komunikasi WebSockets menggunakan Laravel Echo Server.

Prosesnya mudah dan boleh digunakan untuk melaksanakan pelbagai aplikasi masa nyata, membolehkan anda menghantar mesej kepada pengguna anda dan menerima maklum balas daripada mereka dalam masa nyata.

Dengan menggunakan Laravel Echo Server, kami boleh melaksanakan aplikasi komunikasi masa nyata yang cekap dengan lebih mudah dan meningkatkan pengalaman pengguna dan interaktiviti aplikasi kami.

Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk melaksanakan komunikasi WebSockets menggunakan Laravel Echo Server?. 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)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu 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)

Bagaimana untuk menyelesaikan masalah biasa ketidaksahihan masa log masuk Laravel Bagaimana untuk menyelesaikan masalah biasa ketidaksahihan masa log masuk Laravel Mar 06, 2024 pm 09:24 PM

Bagaimana untuk menyelesaikan masalah biasa Laravel tamat masa log masuk Apabila menggunakan Laravel untuk membangunkan aplikasi web, pengesahan log masuk ialah fungsi yang sangat penting. Walau bagaimanapun, kadangkala jika pengguna tidak beroperasi untuk masa yang lama selepas log masuk, halaman mungkin log keluar secara automatik atau pengesahan mungkin gagal. Masalah ini agak biasa Perkara berikut akan memperkenalkan cara menyelesaikan masalah ini dengan menetapkan masa sesi dan memberikan contoh kod tertentu. 1. Tetapkan masa tamat sesi dalam Laravel, secara lalai sessi

Nasihat pembangunan Laravel: Cara mengendalikan pengecualian dan pembalakan Nasihat pembangunan Laravel: Cara mengendalikan pengecualian dan pembalakan Nov 23, 2023 am 10:08 AM

Dalam pembangunan Laravel, pengendalian pengecualian dan pengelogan adalah bahagian yang sangat penting, yang boleh membantu kami mencari masalah dengan cepat dan mengendalikan pengecualian. Artikel ini akan memperkenalkan cara melakukan pengendalian pengecualian dan pengelogan untuk membantu pembangun membangunkan Laravel dengan lebih baik. Pengendalian pengecualian Pengendalian pengecualian bermaksud menangkap ralat dan mengendalikannya dengan sewajarnya apabila ralat atau situasi yang tidak dijangka berlaku dalam atur cara. Laravel menyediakan banyak mekanisme pengendalian pengecualian. Mari kita perkenalkan langkah-langkah khusus pengendalian pengecualian. 1.1 Jenis pengecualian dalam Larav

Penjelasan terperinci tentang penyelesaian kepada masalah kegagalan masa log masuk Laravel Penjelasan terperinci tentang penyelesaian kepada masalah kegagalan masa log masuk Laravel Mar 06, 2024 pm 09:30 PM

Laravel ialah rangka kerja PHP yang popular yang digunakan secara meluas untuk membangunkan aplikasi web. Apabila membangunkan aplikasi menggunakan Laravel, kita sering menghadapi masalah tamat masa log masuk pengguna, iaitu pengguna tidak melakukan sebarang operasi untuk satu tempoh masa, menyebabkan status log masuk menjadi tidak sah. Artikel ini akan memperkenalkan secara terperinci penyelesaian kepada masalah kegagalan masa log masuk Laravel dan memberikan contoh kod khusus. Penerangan Masalah Dalam banyak aplikasi web, atas sebab keselamatan, pengguna akan kekal log masuk untuk tempoh masa yang tetap selepas log masuk. Secara amnya,

Peranan dan amalan terbaik fail .env dalam pembangunan Laravel Peranan dan amalan terbaik fail .env dalam pembangunan Laravel Mar 10, 2024 pm 03:03 PM

Peranan dan amalan terbaik fail .env dalam pembangunan Laravel Dalam pembangunan aplikasi Laravel, fail .env dianggap sebagai salah satu fail yang paling penting. Ia membawa beberapa maklumat konfigurasi utama, seperti maklumat sambungan pangkalan data, persekitaran aplikasi, kunci aplikasi, dll. Dalam artikel ini, kami akan mendalami peranan fail .env dan amalan terbaik, bersama-sama dengan contoh kod konkrit. 1. Peranan fail .env Pertama, kita perlu memahami peranan fail .env. Dalam Laravel sepatutnya

Nasihat Pembangunan Laravel: Cara Memantau dan Mengoptimumkan Prestasi Nasihat Pembangunan Laravel: Cara Memantau dan Mengoptimumkan Prestasi Nov 22, 2023 pm 06:14 PM

Cadangan Pembangunan Laravel: Cara Memantau dan Mengoptimumkan Prestasi Dalam pembangunan aplikasi web hari ini, prestasi adalah pertimbangan yang sangat penting. Aplikasi yang cekap bukan sahaja memberikan pengalaman pengguna yang lebih baik, tetapi juga mengurangkan beban pelayan dan menjimatkan kos. Artikel ini akan memperkenalkan anda kepada beberapa cadangan pemantauan prestasi dan pengoptimuman untuk aplikasi Laravel. Menggunakan alat pemantauan prestasi Laravel menyediakan beberapa alat pemantauan prestasi yang sangat berguna, seperti LaravelDebugbar dan LaravelT

Nota Pembangunan Laravel: Elakkan Perangkap Prestasi Biasa Nota Pembangunan Laravel: Elakkan Perangkap Prestasi Biasa Nov 22, 2023 am 10:31 AM

Laravel ialah rangka kerja PHP popular yang digunakan secara meluas dalam pembangunan aplikasi web. Walau bagaimanapun, di sebalik kelebihannya, terdapat beberapa perangkap prestasi biasa semasa pembangunan. Artikel ini akan memperkenalkan beberapa pertimbangan pembangunan Laravel untuk membantu pembangun mengelakkan perangkap ini dan meningkatkan prestasi aplikasi. Elakkan pertanyaan pangkalan data yang kerap Dalam Laravel, pertanyaan pangkalan data yang kerap adalah salah satu kesesakan prestasi. Untuk mengurangkan bilangan pertanyaan, anda boleh menggunakan fungsi pramuat dalam Eloquent untuk mendapatkan

Pembangunan Laravel: Bagaimana untuk melaksanakan komunikasi WebSockets menggunakan Laravel Echo Server? Pembangunan Laravel: Bagaimana untuk melaksanakan komunikasi WebSockets menggunakan Laravel Echo Server? Jun 14, 2023 pm 03:09 PM

Pembangunan Laravel: Bagaimana untuk menggunakan LaravelEchoServer untuk melaksanakan komunikasi WebSockets? Dalam aplikasi web moden, komunikasi pemesejan masa nyata adalah penting. WebSockets ialah protokol untuk komunikasi dua hala. Selain HTTP, WebSockets membenarkan pelayan menghantar mesej kepada klien apabila perlu. LaravelEchoServer ialah WebSock berdasarkan Node.js

Nota Pembangunan Laravel: Kaedah dan Teknik untuk Mencegah Suntikan SQL Nota Pembangunan Laravel: Kaedah dan Teknik untuk Mencegah Suntikan SQL Nov 22, 2023 pm 04:56 PM

Nota Pembangunan Laravel: Kaedah dan Teknik untuk Mencegah SQL Injection Dengan perkembangan Internet dan kemajuan teknologi komputer yang berterusan, pembangunan aplikasi web telah menjadi semakin biasa. Semasa proses pembangunan, keselamatan sentiasa menjadi isu penting yang tidak boleh diabaikan oleh pembangun. Antaranya, mencegah serangan suntikan SQL adalah salah satu isu keselamatan yang memerlukan perhatian khusus semasa proses pembangunan. Artikel ini akan memperkenalkan beberapa kaedah dan teknik yang biasa digunakan dalam pembangunan Laravel untuk membantu pembangun mencegah suntikan SQL dengan berkesan. Menggunakan pengikatan parameter Pengikatan parameter ialah Lar

See all articles