JavaScript + PHP и SSE - сервер отправляет события и MySQL - PullRequest
0 голосов
/ 21 февраля 2019

Достаточно ли я масштабируема?
Моя цель - создать модуль MySQL WebRTC.После изучения всех альтернатив для обмена данными между сервером и клиентом SSE подходит для отправки уведомлений MySQL.Я хочу неизбежно заменить WebSockets.

Могу ли я действительно использовать window.onbeforeunload ()?
Серверы Socket.IO и Node являются $ var , ноя не могу положиться на своих хостинг-провайдеров для открытых портов.Итак, я обнаружил, что SSE очень совместим, а также window.onbeforeunload = () => abort (id); Представьте себе SQL-> PHP-> Клиент Сервер сигнализации

Как производительность?
Меня не волнует задержка, так как я использую только SSE для уведомлений.Веб-RTC будет только для двухсторонних или трехсторонних звонков.SSE для чата, нужно будет только обновить мои счетчики опросов на стороне клиента и обновить мои записи sql на стороне сервера.

Таким образом
Я управлял клиентом <-Server <-Топография MySQL, но как <em>разъединения работают с AJAX при загрузке (например: очень маленький JSON менее 2 КБ @ 1 Кбит / с) .Изобретая естественные биения из сокетов, живое аудио / видео для 2-х или 3-х сторонней потоковой передачи выполняется с WebRTC, , но мы можем , RTCDataChannel (id) относительно EventSource (MySQL)

???
После мозгового штурма я думаю, что window.onbeforeunload выполнит трюк, если он синхронный, а не асинхронный.Таким образом, должен работать очень быстро, для хорошего интерфейса.Я просто хочу очистить MySQL Records.Таким образом, SSE может сказать другим пользователям: «Я больше не здесь»

[https://caniuse.com/#feat=eventsource]
[https://caniuse.com/#search=beforeunload]

1 Ответ

0 голосов
/ 03 июня 2019

Итак, вы хотите использовать SSE и MySQL в качестве сервера сигнализации.

На самом деле, у вас есть предположение, что вам нужен MySQL для этого, а вы нет.Мне удалось создать надежный сервер сигнализации с простым текстом (это всего лишь несколько строк, которые все равно обмениваются) вместо базы данных.См. https://github.com/nielsbaloe/webrtc-php.

Относительно ваших точек внимания:

  • SSE не очень масштабируемо, хорошо для максимум ста клиентов это будет достаточно хорошо.Так что для всех моих небольших проектов по домашнему пиву это просто замечательно.Синтаксически SSE и Websockets одинаковы, поэтому, когда я хочу увеличить масштаб, код будет почти одинаковым.
  • Я не понимаю, почему вы говорите о window.onbeforeunload ().Нет необходимости использовать это, на самом деле, не используйте его.SSE позаботится об автоматической перезагрузке веб-страницы, поэтому совершенно не нужно писать что-то подобное самостоятельно.
  • Производительность отличная, SSE работает так же быстро, как веб-сокеты, как сегодня используется HTTP / 1.1,это точно так же.Только для «сообщений» это занимает больше времени, потому что новый сокет открыт.Существует небольшая задержка от сервера к клиенту, потому что клиент запрашивает новую информацию раз в несколько секунд (которую я уменьшил до 1 секунды в моем проекте), однако как сигнальный сервер, который не имеет значения, в течение 2 секунд клиенты нашлидруг друга (вместо, скажем, 400 мс).
...