HTTP SSE, как сервер поддерживает клиентское соединениеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 HTTP SSE, как сервер поддерживает клиентское соединение

Сообщение Anonymous »

Я использую Debian 13 с Nginx 1.26.3 и SSE (событие, отправленное сервером) и PHP. Чего я пытался достичь, так это иметь много связей с клиентами. Но мне не всегда есть что отправлять клиентам! В документации я прочитал, что сервер должен поддерживать соединение до тех пор, пока не появятся новые данные для отправки. Я сделал это следующим образом:

Код: Выделить всё

while($lastTime == $_SESSION['lastTime']{
sleep(10);
}
В SESSION хранится значение LastTime, когда сервер создал новые данные, а в $lastTime хранится значение LastTime последнего пакета данных, полученного клиентом. Если SESSION['lastTime'] меняется, доступны новые данные.
Но это не работает! Цикл никогда не завершится, поскольку скрипт PHP не может получать новые данные, пока скрипт находится в цикле while. И поэтому SESSION['lastTime'] не будет обновляться!
Я думал, что можно запустить несколько копий одного и того же скрипта. Но, похоже, это не так! Есть ли другой способ сохранить соединение с сервером? Извините, если это простой вопрос, но у меня нет необходимого понимания.
Если одновременно может работать только одна копия, как сервер может поддерживать несколько соединений?

Подробнее здесь: https://stackoverflow.com/questions/798 ... connection
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»