Мгновенные сообщения

InstantCMS 2.X

Обсуждение способов реализации

#1 5 августа 2017 в 13:44
Доброго времени!
Почитал про своего рода асинхронность в php, узнал, что можно делать long pool'ы, другими словами "длинные запросы", а также узнал, что есть в пхп некие веб-сокеты, с помощью которых тоже можно реализовать необходимую задачу — моментальные сообщения.
Хочу узнать, насколько трудна и продолжительна будет такая работа, ибо данная тема важна для многих, а обсуждения так и не нашел на форуме.
Прошу немного просвятить по этому поводу и сказать в чем я, возможно, ошибаюсь.
#2 5 августа 2017 в 14:25
О, тоже интересует похожая тема.
В качестве экзерсисов пробовал делать чат комнату. Не то что бы нужен скрипт чата, просто был интересен сам процесс создания.



Для запроса новых сообщений использую такую простой способ как

  1. <script>
  2. function show()
  3. {
  4. $.ajax({
  5. url: "components/chat/time.php",
  6. cache: false,
  7. type: "POST",
  8. data: {online:"1"},
  9. success: function(html){
  10. $("#content").html(html);
  11. }
  12. });
  13. }
  14.  
  15. $(document).ready(function(){
  16. show();
  17. setInterval('show()',1000);
  18. });
  19. </script>
  20.  
И повторяющийся аякс запрос для проверки списка кто в комнате.
Кто нибудь укажет мне на минусы варианта?
#3 5 августа 2017 в 14:59
Нил™, я сам с аяксом не разбираюсь, так что чем ваш вариант отличается от обычного, встроенного в инстант? scratch
#4 5 августа 2017 в 22:00

Кто нибудь укажет мне на минусы варианта?

Нил™
Минусы — падает сервак при любой маломальски реальной активности. Тоже гуглил на эту тему, тут только сокеты…
#5 5 августа 2017 в 22:54

так что чем ваш вариант отличается от обычного, встроенного в инстант?

Developper
а разве в инстанте есть система личных сообщений в режиме чата?
Насколько я знаю только это instantcms.ru/addons/neomessenger-i2.html дополнение


Минусы — падает сервак при любой маломальски реальной активности. Тоже гуглил на эту тему, тут только сокеты...

Zau4man
Сокеты — пока не могу разобраться.

Я помню с модулем "кто онлайн" на аяксе, который посылал постоянные запросы на обновление статистики, сайт на виртуальном хостинге у меня падал на 500 чел онлайн.
Более менее мощный сервер вероятно потянет подобный чат и с парой тысячей пользователей онлайн, (???) что само по себе маловероятно — такое количество людей одновременно. В чатах маил ру такое могло быть когда то, к тому же больше 100-200 человек в чат комнате одновременно, это в любом случае не желательно, потому что сложно читать и один флуд, значит в любом случае стоит установливать ограничение на количество человек которые могут одновременно находиться в комнате.
#6 6 августа 2017 в 18:37
Получается, веб-сокеты должны быть решением для такой задачи.
Не знаю насколько это трудно, но думаю, разработчики вполне могут реализовать мгновенные сообщения.
И тогда появляется вопрос, почему это не сделали? Есть какие-либо причины, почему не стоит это реализовывать?
#7 6 августа 2017 в 18:38
Developper, на шаред хостинге работать не будет.
Нужен отдельный сервер или vps для их использования.
#8 7 августа 2017 в 02:25


Нужен отдельный сервер или vps для их использования.

Zau4man

Понял, хотя все же, думаю, серьезные проекты на Instant тоже имеются, и было бы неплохо в дальнейшем для них сделать возможность включения мгновенных сообщений.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.