Я просто хочу уточнить (с вашей помощью) связь между: PHP + Redis + Node.js + Sockets
.
Для этого я взял за основу проект по:
https://github.com/biswassampad/Realtime-Chat-With-Laravel5.6-and-Socket.io
Этот пример является очень простым приложением чата.
Здесь у вас есть демонстрационное видео: https://www.youtube.com/watch?v=AMgYpjFXnWo
Я скачал его на локальный компьютер и работал нормально.
Я заметил, что он использует: PHP
+ Redis
+ Node.js
+ Sockets
.
Я создал диаграмму ниже (возможно, не совсем точную), чтобы иметь некоторую визуальную справку.
Когда я запустил это приложение, я открыл 2 окна чата и затем отправил несколько сообщений от каждого из них. Другие окна получили сообщения правильно.
Но у меня есть одна проблема здесь , и это то, что сообщения имеют большую задержку, от 2 до 4 секунд.
Тогда, пожалуйста, дайте мне знать, исходя из приведенной выше диаграммы:
между какими составляющими находится задержка?
как сообщения передаются между компонентами на диаграмме выше? так как одно окно отправляет сообщение, пока другие не получат его?
Я попробовал другое приложение (см. Ниже), на этот раз в Node.js
, что очень быстро, я имею в виду, в то же время вы отправляете сообщение из одного окна, другие окна получают сообщение.
https://github.com/socketio/chat-example
Есть ли способ сделать приложение для чата PHP
таким же быстрым, как это приложение Node.js
? Может быть, какой-то обходной путь, если нет официального пути?
Спасибо!