kostya-frank
@kostya-frank
Системный администратор

Как обновлять страницу с помощью WebSockets?

Всем привет!

Обучаюсь разработке на React.JS и пришло время разобраться с вебсокетами. Есть, например, страница со списком ссылок. Также на этой странице присутствует форма добавления ссылок. Требуется при добавлении ссылки любым пользователем обновлять в режиме реального времени список ссылок. Задача довольно стандартная, но очень мало материала для изучения. Уточню, что данные хранятся в MySQL базе на одном сервере, а front-end расположен на другом.

Теперь немного расскажу о том, что хочу сделать. Как я понял, потребуется просто использовать чистый Javascript для соединения с WebSockets сервером (https://learn.javascript.ru/websockets). При добавлении ссылки она появится в базе MySQL и после этого можно просто отправить socket.send("refresh"). После этого сервер разошлет сообщения с новыми данными из базы и метод onmessage подхватит. Но остается вопрос с самим WebSockets сервером. Углубляться в изучение его не хотелось бы, потому искал готовые решения. Одним из результатов поиска был репозиторий - https://github.com/nicokaiser/php-websocket. Имеет ли смысл использовать данное решение? Если я правильно понял, то для его работы достаточно создать файл по типу https://github.com/nicokaiser/php-websocket/blob/m... и изменять метод onData для обработки refresh. Но в данном случае я не понимаю механизм рассылки данных. Допустим при методе refresh (onData) сервер разошлет всем новую запись с помощью $this->_sendAll($encodedData), а при clientConnected разошлет записи, которые были добавлены до подключение. Правильно ли я мыслю?

Буду благодарен за любые советы!
  • Вопрос задан
  • 893 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы