Ваша интерпретация кажется правильной, хотя я бы не предложил использовать websocket для отправки данных, но только для распространения живых данных всем подписчикам канала. Для этого получите API (желательно), чтобы получать новые сообщения/чаты/пользователи. И используйте push-сервер для отправки данных, полученных в сокет. Толкающий сервер - это всего лишь промежуток между приложением и websocket, что позволяет php (laravel) легко обращаться к сокету.
Edit: разработка
Чтобы повторить попытку объяснить это вам. Все клиенты слушают сервер WebScoket. Это соединение, которое является пассивным, и они будут получать сообщения от сокета только по тем темам/подпискам, которые у них есть.
Когда кто-то хочет отправить сообщение (в случае приложения чата), они отправляют его в API, чтобы проверить, правильно ли он его отправил, возможно, даже использовать apikeys или другие средства безопасности.
После того, как сообщение получено в API, API хочет распространить его на всех слушающих клиентов для этой комнаты чата/темы/подписки.
Таким образом, сообщение пересылается на push-сервер, который находится между бэкэнд (API, контроллерами) и WebSocket (подписки, темы).
После этого push-сервер отправляет сообщение в WebSocket, а затем WebSocket передает сообщение правильным слушателям.
Преимущества использования API:
- безопасности
- Масштабируемость
я до сих пор не совсем "обращал внимания на" то, что вы говорите. может помочь, рисуя некоторые диаграммы? –