Xin chào các bạn,
Về real-time method, ta có 2 cách thông dụng nhất mà hay xài, đó chính là:
- Websocket
- Long Polling
Long Polling là một phương thức mà khi bên Client request lên Server, Server sẽ giữ lại request đó 1 thời gian nhất định (thường là 60 giây), và trong thời gian chờ đó, nếu tìm ra được data mới server sẽ lập tức trả về liền cho phía Client.
Và khi Client nhận lại dữ liệu (dù có data hay không) đều tiếp tục request lên tiếp để lấy data về.
Long Polling được xem là một cách để ta thực hiện việc trao đổi dữ liệu real-time.
Mô hình để cho các bạn dễ hình dung:

Và trong đó Long Polling là cách mà ta có thể dễ thực hiện nhất với mức độ khá dễ trở lên. So với websocket nó có thể sẽ khó hơn cũng như nếu bạn có 1 complex system, dựng qua websocket khá là khó.
Long polling hiện nay cũng được sử dụng rất là rộng rãi, trong đó có Facebook Messenger là đang sử dụng phương thức này 😀
1/ Long Polling trong Laravel
Tất cả mọi thứ mình đã để tại đây: https://github.com/sethsandaru/laravel-long-polling-chat
Các bạn hãy vào và xem đầy đủ thông tin chi tiết hơn nhé, nếu được cho mình 1 star vào project đó nhé 😀
2/ Kết luận
Với project này sẽ giúp các bạn hiểu rõ hơn về cách xây dựng Long Polling trong Laravel.
Đây chỉ là 1 project example đơn giản, và từ example này, các bạn có thể tự tìm ra cho mình 1 solution nhất định về cái real-time app của bạn nhé 😀
Cám ơn các bạn đã quan tâm theo dõi!