Войти
ПрограммированиеФорумВеб

php call js

#0
23:47, 16 ноя 2022

Немного тренируюсь, в общем, какая идея:

у первого пользователя пхп сайта в браузере открыт канвас, второй пользователь пхп сайта добавляет новый элемент для отображения на канвасе, скажем, через пхп пост форму.

Я как то со стороны пхп сервера могу вызвать js функцию для обновления канваса у первого пользователя без бесконечных опросов сервера джаваскриптом?

Зы, что то подобное делал на питоне лет 7 назад, но щас в упор не могу понят свои исходники...

#1
12:14, 17 ноя 2022

despair1, смотри Websocket или HTTP/2.

#2
12:40, 17 ноя 2022

Сам не пользовался, но гугл выдаёт такое:
https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_even… r-sent_events

#3
4:58, 21 ноя 2022

despair1, рекомендую firebase. Бесплатные бд в реальном времени. Пример использования http://vox.dx.am/puzzle открой два окна браузера с этой ссылкой и перемещай картинки в одном окне,  во втором окне эти картинки будут перемещаться. Ещё пример записной http://vox.dx.am/np/?rn=notepad или рисовалка пикселями на холсте http://vox.dx.am/pk  У меня где-то были исходники похожей рисовалки на php/js, могу поискать.

#4
12:32, 21 ноя 2022

Способ первый: Что на пхп, что на джаваскрипте, ты можешь пользоваться сокетами почти как на С. Устанавливаешь новое соединение, какое тебе нужно, и больше не зависишь от ограничений http.
Однако, хостинг может ограничивать то, что тебе доступно на php. Часто твой скрипт просто снимают с выполнения по таймауту, не давая что-либо мониторить.

Способ второй: уведомления. Клиент может оформить подписку на сообщения от сервера. Я не в курсе как это оформляется на нижнем уровне и доступно ли через php.

#5
8:55, 27 ноя 2022

#2 #4
Без проблем приконетился с сервера к пхп вебсокету, но вот хром постоянно выдает ошибку, нагуглил:
Most browsers now only allow secure WebSocket connections, and no longer support using them in insecure contexts.
Возможно ли завершение подключения через ws://localhost ???
Или современный хром поддерживает только wss://localhost ???

ПрограммированиеФорумВеб

Тема в архиве.