Isolution666
@Isolution666
Full-Stack Developer

Pjax, Ajax, Yii2, как обновить контент на стороне собеседника?

Суть такова, есть база денных, где храниться переписка множества разных диалогов, в каждом диалоге по два собеседника. При написании сообщения со своей стороны Pjax работает, и я без перезагрузки вижу то что написал собеседнику, но у собеседника переписка не обновляется. Что усложняет саму переписку, обновлять страницу руками недопустимо!

Как сделать так чтобы, обновлялась переписка у всех, кому написали через Pjax, или просто написать javascript , который будет обновлять контент на стороне собеседника если в БД появилась новая запись, и чтобы это обновление не касалось тех, кому ещё не писали.

Есть id - того кто написал, id - того кому написали, token - уникальной переписки(диалога).
Подскажите, где есть решение. Очень буду благодарен узнать как это выглядит и работает.
  • Вопрос задан
  • 766 просмотров
Пригласить эксперта
Ответы на вопрос 2
qonand
@qonand
Software Engineer
Вы конечно можете реализовать все через Ajax - отправлять запрос который мониторит новые сообщение и т.п., но этот метод костыльный и годиться только для крайне маленьких проектах. Вообще для написания чата php как по мне не очень годиться, но коль Вы его по какой-то причине выбрали, то лучше реализовать это все на базе сокетов
Ответ написан
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
поддерживаю Максим Федоров Ваша беда в неверном выборе инструмента. Делать чат надо через сокеты. С обычным ajax будет сложно.
Однако в html5 есть worker-ы, вот статья, думаю то что Вам надо:
https://habrahabr.ru/post/132785/
Ответ написан
Ваш ответ на вопрос

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

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