То, что я хотел бы сделать, — это простой чат HTML5, ничего особенного, как только кто-то что-то говорит, он отправляет это всем, кто в данный момент подключен к серверу, и все. Никаких хранилищ, ничего сложного. Однако он должен быть гибким, мой сайт должен иметь возможность автоматически создавать отдельные чаты по мере необходимости. Я видел много демонстраций и примеров, но все они требуют, чтобы я установил node.js или что-то подобное, что требует доступа terminal (которого у меня нет). В настоящее время я работаю на одном из тех бесплатных хостингов веб-сайтов, которые дают вам клиент ftp, базу данных mysql, некоторую поддержку php, и все. Есть ли какой-нибудь способ сделать это? Или, может быть, я что-то упускаю, есть ли способ установить пакеты на такие серверы? Может быть, кто-то знает способ получить доступ к terminal? Любая помощь будет очень признательна, спасибо.

5 ответов

  • простой веб-чат, несколько фронтов

Я ищу решение этой проблемы: Мне нужно создать простой веб-чат почти в реальном времени для веб-сайта, который имеет несколько фронтов. веб-чат не нуждается ни в каких значках, только в времени псевдонима и сообщении. сайт работает на сайте .net. пользователи, которые хотят общаться в чате, должны.

Я хочу создать мобильное чат-приложение в jquery-mobile/html5/css3 + phonegap (клиент) и, возможно, java(сервер). Возможно, есть плагин phonegap? Знаете ли вы хороший учебник? Как бы вы реализовали такое приложение? Я никогда не делал СТХ. как и раньше, так что любая помощь будет очень.

Бывал там, делал это. Это не тривиально, чтобы получить право.

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

Если задержки в порядке, вы действительно можете просто опрашивать сервер каждые 2 секунды, чтобы узнать, доступны ли новые сообщения. Никто не любит задержек, но в зависимости от того, что вы хотите сделать, это может быть не так уж плохо. Затем сервер будет проверять базу данных/файл по каждому запросу и возвращать обновления. Это очень простое решение, и оно работает. (А если вы думаете, что опрос каждые 2 секунды-это пустая трата ресурсов и ненужная нагрузка на сервер. читайте дальше, альтернатива может быть еще хуже.)

Полностью мгновенный чат требует, чтобы сервер мог немедленно отправлять новые данные клиентам, не дожидаясь, пока клиенты попросят об этом. HTTP изначально не поддерживает это, и если вы не хотите использовать какой-либо Flash/Java,, единственный известный мне способ сделать это-использовать запросы comet. Это запросы (обычно AJAX), которые намеренно зависают на некоторое время на сервере, а затем возвращаются именно в тот момент, когда появляются новые данные, которые необходимо отправить клиенту, или когда наступает тайм-аут. Каждый раз, когда возвращается запрос кометы, клиент обрабатывает данные и немедленно делает еще один запрос кометы, который снова зависает до тех пор, пока не появятся новые данные. Я считаю, что каждый чат-сайт в pure HTML/JS делает это именно так (Omegle, Facebook и многие другие).

Теперь это была самая легкая часть. Но как это реализовать на сервере? Давайте рассмотрим такую ситуацию: у вас есть 10 пользователей в чате, то есть 10 клиентов, у каждого из которых будет висящий запрос кометы, ожидающий новых данных. Один из пользователей что-то пишет в чат, и это вызывает дополнительный запрос к серверу на публикацию текста. Как сделать так, чтобы одно выполнение скрипта PHP на сервере заставило остальные 10 исполнений перестать ждать и вернуть новые данные? (Вы можете заменить PHP на Perl или что-нибудь еще.) Вам понадобится что-то, что позволяет нескольким исполнениям сценариев разговаривать друг с другом. (Или код PHP сам может опрашивать базу данных каждую секунду, но это снова приводит к задержкам.) Любая форма межпроцессного взаимодействия (IPC) сложна в этих скриптовых языках, особенно если вы не знаете, какую модель использует веб-сервер для их выполнения. Например, Apache может иметь процесс для каждого запроса, или поток для каждого запроса, или смесь того и другого. Но, возможно, ваш хостинг использует IIS или что-то еще, поэтому в этой ситуации трудно сделать IPC. В итоге я создал собственный серверный компонент в PHP, который работал все время, его задача состояла в передаче сообщений между различными исполнениями скриптов PHP. И да, для этого требуется доступ shell. Все PHP выполнения будут подключаться к этому серверному компоненту через сокеты, и сообщения могут передаваться по кругу. Это было сложно сделать правильно, но в конце концов это сработало довольно хорошо.

К сожалению, запросы comet могут быть очень расточительными с памятью и циклами CPU. Мой сервер Apache имел модель process-per-PHP-execution. Таким образом, когда в чате было 100 человек, это означало, что в любое время было 100 ожидающих запросов кометы, то есть было запущено 100 Apache процессов. И даже если свежий процесс Apache использует только 10 МБ, это составляет в общей сложности 1 ГБ! Это много памяти, и эти процессы были ничем иным, как ожиданием чего-то, что должно произойти. Чат был невероятным Боровом памяти. Кроме того, такой чат генерирует действительно много запросов: каждый раз, когда кто-то что-то говорит в чате, все 100 запросов возвращаются, и сразу после этого вы получите 100 новых запросов. Вдвое больше пользователей в чате обычно означает в четыре раза больше запросов. И вы действительно хотите, чтобы это было быстро. Apache не всегда так эффективно справлялся с этим. Существует некоторое программное обеспечение веб-сервера, которое специально настроено на запросы comet и будет очень хорошо масштабироваться, но это опять же требует большего доступа к серверу, чем у вас.

Итак, для полноты картины, вот конец моей истории: тем временем я выбросил все PHP и полностью переписал чат. На мой взгляд, как Apache, так и PHP в высшей степени непригодны для такого рода задач. Теперь существует один серверный компонент Java, который интегрирует эффективный многопоточный сервер HTTP. Я провел стресс-тест, и он ведет себя очень хорошо: при подключении 500 спам-клиентов использование CPU не превышает 15%, а использование памяти остается на уровне 150 МБ. Это гораздо лучше, чем я когда-либо ожидал. Его отзывчивость тоже значительно улучшилась, по сравнению с Apache/PHP. конечный результат можно посмотреть на http://www.dark-chat.info/ , хотя чат в настоящее время несколько мертв по разным причинам. Надеюсь, это изменится, когда у меня будет больше времени для этого.

Ну, я знаю, что это вам не очень помогает, так как вы довольно ограничены своим хостинг-провайдером. А без доступа shell вы действительно можете сделать только так много. Если вы согласны с задержкой в 2 секунды (или сделаете ее 1 секундой) и не ожидаете, что одновременно будет более 20 пользователей, вы действительно можете просто пойти на опрос. Есть способы немного оптимизировать это, например, активные пользователи могут получить 1-секундные опросы, а те, кто редко что-то пишет, получают 5-секундные опросы.

Тем не менее, возможно, вы также могли бы поискать какое-то размещенное решение. Я уверен, что вокруг есть чаты, которые вы можете встроить через iframes.

Ладно, это заняло гораздо больше времени, чем мне хотелось. Но я надеюсь, что это поможет некоторым людям. 🙂

Как многие уже упоминали, популярный метод достижения этой цели-использование ajax, comet (или какого-либо другого механизма длительного опроса) или WebSockets.

Я предлагаю использовать WebSockets, но, как уже упоминалось, ваш хост может не позволить вам настроить сервер сокетов.

Если это та ситуация, в которой вы оказались , я рекомендую использовать серверные отправленные события, еще одно решение HTML5, которое было омрачено WebSockets.

Это позволит вам отправлять события в браузер и при этом легко реализовать их в PHP.

HTML 5 имеет классную новую функцию под названием Web Sockets, которая обеспечивает истинную двустороннюю связь между клиентом и сервером. Однако вы не найдете никаких дешевых общих планов хостинга, которые позволят вам разместить свой собственный сервер веб-сокетов.

Вы можете подделать двустороннюю связь, сделав это «old-fashioned» способом: используя AJAX. в основном клиентская сторона JavaScript делает запрос к базе данных каждые несколько секунд, чтобы проверить, есть ли какие-либо новые сообщения чата для отображения. Отправить новое сообщение — это просто отправить это сообщение на сервер.

Comet-это просто причудливый (более эффективный, серверный) способ сделать это.

  • Веб-чат: Flash или Java или HTML5 или что-то еще?

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

Я читал учебники Boost Asio (официальный сайт). Но я нашел их занозой в шее! Есть ли простой учебник по asio?! Я имею в виду простой клиент-серверный чат. НИКАКИХ НИТЕЙ! ! Спасибо!

Единственный способ реализовать чат без использования каких-либо плагинов (Flash, Java, . )-это WebSocket . (Подключение сервера на определенный интервал для проверки нового сообщения — это способ реализовать это, но я думаю, что это слишком ‘dirty’. ) Однако я думаю, что веб-хостинг-сайт может не предоставлять сервер WebSocket. Я предлагаю вам сделать клиент IRC, выполнив соединение с помощью Java/Flash., если вы хотите использовать HTML/JS для создания UI, используйте ExternalInterface в Flash или JSObject в Java для связи между плагином и JS.

Я не могу сказать много об этом, но в настоящее время часто используемая технология для подобных вещей-это comet .
В Comet вы открываете запрос на сервер (например, с чем-то вроде AJAX), но не закрываете его. Вы просто держите его открытым, но отправляете данные с сервера клиенту только в случае необходимости. Эта технология также нуждается в некоторых специальных серверах для этого, но я думаю, что если вы немного погуглите вокруг, то обязательно найдете способ реализовать Comet с PHP (но я думаю, что Python будет лучше для чего-то подобного).

Надеюсь, это даст вам некоторое представление о том, как решить вашу проблему 🙂

Похожие вопросы:

Я хочу создать веб-чат-клиент XMPP, чтобы добавить его к веб-доступу outlook. Я читал, что Javascript проблематично. Могу ли я использовать html5 websockets с помощью сервера openfire и.

я хочу создать простой red5 видео чат, состоящий из двух SWF-файла, один для показа видео пользователя от webcam который легко, проблема, которую я имею как получить видео другого пользователя, во.

просто у меня был вопрос к простой чат-программе, которую я написал в java. Программа использует TCP для передачи простых строк сообщений туда и обратно из Server/Client., и она работает на всех.

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

Я хочу создать мобильное чат-приложение в jquery-mobile/html5/css3 + phonegap (клиент) и, возможно, java(сервер). Возможно, есть плагин phonegap? Знаете ли вы хороший учебник? Как бы вы реализовали.

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

Я читал учебники Boost Asio (официальный сайт). Но я нашел их занозой в шее! Есть ли простой учебник по asio?! Я имею в виду простой клиент-серверный чат. НИКАКИХ НИТЕЙ! ! Спасибо!

Я хочу создать html5 веб-многокомнатный чат, основанный на HTML5 websocket. Но для начала мне нужна небольшая помощь. Я хочу сделать серверный код в c#,, но я не могу найти никаких учебников, как.

Мне любопытно, как xmpp (Extensible Messaging Presence Protocal )работает с html5 и javascript. как реализовать xmpp чат в html5?

Я хочу запустить свой первый, простой чат-бот на своем сайте. Поэтому я выбрал именно эту стопку: Dialogflow (ML, AI и т. д.) Dialogflow Messeger (приложение frontend communicator) Firebase функции.

Общение с незнакомыми людьми раньше было тем, чем был весь Интернет — по крайней мере, до того, как все, кого вы знаете, начали использовать Интернет. В наши дни вы с большей вероятностью будете использовать Интернет для общения с друзьями и семьей на Facebook, чем для запуска случайного приложения чата.

Но почему бы не связаться с людьми, которых вы не знаете?

В конце концов, Интернет — это большое место, а когда-то мы встречались в чатах. По этим и другим причинам даже Facebook пытается вернуть чаты

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

Hack.chat: мгновенные чаты без входа

Начнем с чего-то чрезвычайно простого. Hack.chat позволяет создавать чат-комнату, просто создав URL-адрес, которым вы можете поделиться с друзьями. Здесь нет входа, нет паролей и ничего: это просто URL-адрес чата, к которому может присоединиться каждый.

Если вы хотите быстро начать разговор между группой людей, трудно представить что-либо проще, чем это. Просто поделитесь URL-адресом и начните — каждый может присоединиться немедленно.

Есть много способов создать свой чат

, но не так быстро, как это. Дать ему шанс.

Chats.Directory: найти свободные комнаты, связанные с вашими интересами

Чаты не умерли, но среда постоянно меняется. Чаты AOL давно ушли, и IRC уже не тот, что был раньше, но многие люди используют приложение для чата, ориентированное на бизнес.

в интернет-сообщества. Если вы хотите присоединиться к некоторым, Chats.Directory — отличное место для поиска. Этот сайт собирает некоторые из лучших сообществ Slack.

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

Шнур (Android, iOS): отправка голосовых сообщений

Научная фантастика предполагала, что мы все будем теперь постоянно использовать видеочат вместо телефонных звонков. Вместо этого мы используем … текст. Зачем?

Частично потому, что текстовые сообщения менее навязчивы. Я могу отправить вам один, не требуя вашего немедленного внимания. Телефонные звонки — и видео звонки, в этом отношении — требуют немедленного ответа.

Шнур пытается сделать аудиосвязь менее навязчивой, позволяя вам отправлять аудиосообщения кому-то и давать им возможность отвечать самостоятельно.

Это потенциально отличная идея, но только если люди ее используют. Сделайте попытку и посмотрите, нравится ли вам это — вы даже можете отправить сообщение не пользователям, если хотите.

HappyFox Chat: Добавить чат на любой сайт

Если вы начинаете онлайн бизнес

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

Мы рассмотрели множество способов добавления чатов на ваш сайт

на протяжении многих лет, но большинство из них либо не хватает, либо дорого. HappyFox Chat может быть исключением.

Если вам нужны бесплатные чаты на веб-сайте, добавьте это в свой список услуг, чтобы проверить. Он предлагает довольно хороший бесплатный уровень: главное ограничение — как долго длится ваш архив. Настольные приложения с нативными уведомлениями позволяют легко оставаться в курсе разговоров, а интеграция с остальной частью HappyFox станет большим плюсом для всех, кто инвестирует в эту экосистему.

MeowChat (Android, iOS): общение с незнакомцами

Это интересно — думать об этом как о менее анонимном Яке Яке

, MeowChat позволяет общаться с незнакомыми людьми, как в группе, так и один на один. Вы можете пообщаться с близким человеком, если хотите, или пообщаться с каким-нибудь случайным человеком где-то на планете.

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

Общение может быть веселым

Я хочу знать: тебе нравится общаться? Если так, то где? Давайте скомпилируем некоторые из лучших чатов в сети в комментариях ниже.

О, и я, вероятно, по контракту обязан упомянуть Grouvi, проект, настоятельно рекомендованный моим боссом (который сделал это). Проверьте это!

Думаю, что каждый из Вас знает, что такое чат. И очень часто на сайтах можно встретить либо маленькие чаты, либо достаточно большие и сложные. В этой статье я опишу принцип создания чата. Обратите внимание, что в этой статье не будет готового кода «скопировал-вставил«, а только алгоритм, с помощью которого Вы, обладая необходимыми знаниями, сможете сделать чат.

Ключевая особенность чата в том, что его содержимое обновляется автоматически. Отсюда и возникают все трудности.

Для начала разберём с Вами структуру таблицы в базе данных. Вот те поля, которые обязательно потребуются:

  • id — уникальный идентификатор.
  • name — имя, оставившего сообщение. Здесь также может быть, например, user_id, означающий id пользователя из другой таблицы.
  • message — сам текст сообщения.
  • date — дата отправления сообщения.

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

Теперь необходимо вывести HTML-код:

Имя Сообщение Дата
Имя Сообщение Дата

В данном коде опять же всё как пример. Можно всё смело менять, но принцип должен быть тем же: есть место, где выводятся сообщения, причём они выводятся в одинаковом виде. Вместе с полем, где выводятся сообщения, есть текстовое поле и кнопка «Отправить«.

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

Теперь займёмся JavaScript:

И, наконец, PHP-код (добавление новых сообщений):

И последний файл, которые потребуется — это получение всех сообщений из таблицы:

Всё, круг замкнулся, и чат заработал. Как видите, сделать чат достаточно сложно и нужно обладать большим багажом знаний. Но я надеюсь, что данная статья здорово облегчит Вам эту задачу. Абсолютно любой чат, какой бы он сложный ни был, основан на принципах, описанных в данной статье, поэтому смело можете его использовать как каркас.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Комментарии ( 25 ):

    Спасибо за статью, Михаил! Но ведь можно сделать и без применения js?

    Можно, с применением frame. Но это очень плохой вариант в том плане, что, во-первых, будет «моргать» экран, поскольку обновляется целиком весь блок, особенно это будет заметно на медленных компьютерах. Также очень сильно ограничена функциональность и многое нельзя будет сделать.

    Spasiba za statiu Mixail..Vapros: Shtob Sozdat Chatik na znat PHP ? i JavScript? obizatelna ? a mojna li vot suda postavit http://remzi.mail2k.ru/ ? Zarane spasiba ..

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

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

    Отправлять вместе с запросом id последнего сообщения, например. Если новое появилось, то возвращать результат.

    А лучше ли будет передавать хэш id ? или лучше будет сделать специально отдельно колонку в таблице, с рандомным значением (и сделать и его хэш)чтоб исключить подстановку?!

    Если беспокоитесь о безопасности, то можете и так сделать. Как альтернатива, можете передавать не id, а время последнего обновления. Тогда выводить только сообщения, отправленные позже этого времени.

    Можно сделать асинхронную подгрузку сообщений если не беспокоетесь о нагрузке

    Я сделал чат по такому же принципу, только я не знал как обновлять и узнал здесь. Спасибо.

    Михаил, а как сделать так, чтобы при обновлении страницы все сообщения из окна чата исчезали? Т.е. каждый новый пользователь не видел сообщений старых. И если это вообще возможно, то где хранить сообщения в БД или в файлах… Спасибо

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

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

    Через CSS у блока можно поставить максимальную высоту и прокрутку.

    спасибо) просто не сталкивался с прокруткой) обязательно попробую)

    Михаил, вы пишите статьи для людей или для поисковиков?

    В первую очередь, для людей. Для поисковиков только ставлю.

    Михаил, спасибо за статью. Вопрос: мне нужно установить, уже готовый чат Mibew Messenger.Все понятно, но там нужно создать БД MySQL и БД пользователя, где это создавать и как? управление сайта через самописную cms. В примере БД создаются в phpMyAdmin.

    Для создания пользователя и БД используйте все тот же phpMyAdmin

    Учебный центр «Специалист» приглашает на бесплатный семинар «Как создать простой чат-бот на Node.js». Он пройдет 4 января в 17:30.

    Участникам занятия необходимо знать JavaScript (Основы EcmaScript + DOM+ Events), иметь начальные представления о Node.js и клиент-серверной архитектуре.

    На семинаре расскажут, как создать свой чат-бот на основе Socket.io и Node.js. Рассмотрят основные аспекты его разработки:

    • сервер;
    • логику;
    • стоимость.

    Зарегистрируйтесь в IBM Bluemix™
    Эта облачная платформа содержит бесплатные службы, инструменты времени выполнения и инфраструктуру, которые помогут вам быстро создать и развернуть свое следующее мобильное или веб-приложение.

    Node-RED — это инструмент с открытым исходным кодом, разработанный группой новых технологии IBM, который позволяет создавать приложения, просто соединяя готовые компоненты. Эти компоненты могут быть устройствами, веб-API или онлайн-службами.

    “ Мы покажем, как всего за несколько минут построить приложение чата реального времени на платформе Node-RED с помощью Bluemix. ”

    На платформе IBM Bluemix легко организовать среду выполнения Node-RED. Всего несколько щелчков кнопки мыши, и вы получаете рабочую среду, готовую к созданию нового приложения. В этой статье мы покажем, как всего за несколько минут построить приложение чата реального времени на платформе Node-RED с помощью Bluemix.

    Что для этого требуется

    • Учетная запись Bluemix
    • Знакомство с HTML, CSS и JavaScript. Мы предоставляем весь необходимый код, но знакомство с этими технологиями поможет вам понять детали.

    Шаг 1. Создание приложения на платформе Node-RED

    1. Войдите в Bluemix и создайте новый шаблон Node-RED.

    Шаг 2. Импорт кода

    Каждое приложение Node-RED можно импортировать и экспортировать в формате JSON. Давайте импортируем наше приложение чата на новый лист.

    1. Войдите в репозиторий проекта на сайте IBM DevOps Services и откройте файл nodechat.json .
    2. Скопируйте все содержимое файла, а затем вернитесь в свой браузер с открытой страницей Node-RED.
    3. Нажмите кнопку меню в верхнем правом углу и выберите Import from… > Clipboard…
      .

    Позже мы объясним, что делает каждый компонент, а пока развернем и запустим приложение.

    Шаг 3. Развертывание и запуск приложения

    1. Нажмите красную кнопку Deploy рядом с кнопкой меню, чтобы оживить свое приложение.

    Шаг 4. Разбор кода (факультативно)

    В этом разделе мы рассмотрим код нашего приложения. Этот раздел можно пропустить, но мы рекомендуем прочесть его, чтобы понять, как построено приложение, и узнать, как работает Node-RED.

    1. В первом разделе у нас есть три узла:
      • WebSocket in
      • Function
      • WebSocket out

    Эти блоки отвечают за создание канала связи и обработку сообщений в режиме реального времени с помощью протокола WebSocket. Блок Function довольно прост. Он всего лишь удаляет значение _session из объекта msg , чтобы сообщение транслировалось во все клиенты, подключенные к WebSocket.

    Второй поток отвечает за код на стороне клиента. В нем есть узел HTTP in , Template для отображения HTML-страницы и узел HTTP out для ответа.

    Узел HTTP in ( [get] /chat ) создает конечную точку для получения запросов GET и их передачи в Template . Узел HTTP out создает надлежащий ответ, возвращаемый пользователю после визуализации шаблона.

  • Шаблон можно разбить на три части: структура страницы, обработка сообщений и визуальное представление.
  • По своей структуре страница – это простая HTML-страница с элементом div , в который поступают все сообщения чата, и нижним колонтитулом, который содержит поля для отправки сообщений.

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

    Заключение

    Node-RED упрощает разработку кода, предоставляя набор узлов, готовых к соединению и использованию. Как показано в этой статье, для получения сервера, установленного на платформе Bluemix, который можно использовать в своих проектах, требуется совсем немного усилий. Это простое приложение чата можно совершенствовать, добавляя к существующим узлам новые и создавая новые потоки.

    Ресурсы для скачивания

    • этот контент в PDF

    Комментарии

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

    Как создать свой простой чат