Xây dựng webSocket với laravel-echo phần 2 - [Private-channel]
Chào mừng anh chị em đến với tuts xây dựng webSocket với Laravel-echo. Ở phần 1 chúng ta đã biết về kênh public-channel.
Ở phần 2 này tôi sẽ trình bày về kênh Private-channel. Kênh này rất hay được sử dụng, đa số các trang mạng xã hội có tính năng chat realtime đều sử dụng kênh này.
Bắt đầu coding nhé. Đầu tiên các bạn ở source phần 1 lên. Bạn nào chưa có thì vào đầy clone về nhé webSocket với laravel-echo
Sau khi clone nhớ tạo lại file env và cấu hình database nhé các thím. Ở video 1 tôi có NOTE README lại cách setting Prj. Bạn nào mà quên thì có thể xem lại ở phần readme hoặc video tại Đây.
Code này được tách branch và build trên source code ở phần 1. Important là các bạn phải đọc kỹ phần 1 nhé.
Các bước tạo 1 kệnh private như sau:
Step 1: Đầu tiên khai báo BroadcastServiceProvider cho app bằng cách mở file config/app.php bỏ comment dòng 174.
//App\Providers\BroadcastServiceProvider::class, =>App\Providers\BroadcastServiceProvider::class,
sau khi bỏ comment nhớ clear cache nhé.
Step 2: Bước 2 này ta vào file events/NewMessage.php sửa kênh thành private.
public function broadcastOn()
{
return new PrivateChannel('chat');
}
Step 3: Bước này ta vào file routes/channel.php khai báo route channel:
Broadcast::channel('chat', function($user) {
return Auth::check();
});
Nhớ use Illuminate\Support\Facades\Auth; quên là lỗi đó.
Step 4: Bước cuối này ta qua bên component vue sửa Echo.private('chat').
Đến đây là kết thúc rồi. Các bạn xem kỹ video ở dưới nhé. Rất rõ ràng và chi tiết. Kèm source code chỉ cần clone về setting prj là chạy mệt nghỉ.
Thân ái và quyết hái!
Source Code gitlab: https://gitlab.com/phongdat/web-socket/-/tree/Private-channel