Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
comet:simple-chat-example [2015/08/27 17:14] levhav [Принцип организации чата] |
comet:simple-chat-example [2019/12/18 01:58] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | <rst>RU::12-Примеры::Пример Realtime чата</rst> | ||
+ | <rst>Header: Пример Realtime чата</rst> | ||
+ | |||
====== Пример Realtime чата ====== | ====== Пример Realtime чата ====== | ||
В этой статье будет рассмотрен пример простого чата между пользователями. Для реализации чата не потребуется использование серверной стороны, в этой статье всё только на JavaScript. Живой пример работы можно наблюдать в конце статьи. | В этой статье будет рассмотрен пример простого чата между пользователями. Для реализации чата не потребуется использование серверной стороны, в этой статье всё только на JavaScript. Живой пример работы можно наблюдать в конце статьи. | ||
+ | <note>В данной статье рассматривается вопрос создания чата где все пользователи общаются в одной общей комнате. Если вам нужен чат для личного общения пользователей между собой (общение в диалогах один на один) то вам больше подойдёт [[comet:star-comet-chat|чат плагин личной переписки между пользователями]]</note> | ||
====== Принцип организации чата ====== | ====== Принцип организации чата ====== | ||
Строка 79: | Строка 83: | ||
}); | }); | ||
- | //setTimeout( function(){ CometServer().get_pipe_log('web_chat_pipe'); }, 3000);// Просим отправить последние сообщения которые были отправлены в канал. Это позволит загрузить историю сообщений в чат. | + | // Загружаем историю сообщений |
+ | CometServer().get_pipe_log("web_chat_pipe"); | ||
}); | }); | ||
Строка 96: | Строка 101: | ||
<html> | <html> | ||
- | <iframe src="//comet-server.ru/doc/CometQL/MainPageChat/index.php" style="width: 100%; display: block; height: 250px;"></iframe> | + | |
+ | <p data-height="512" data-theme-id="0" data-slug-hash="yPgddg" data-default-tab="result" data-user="Levhav" data-embed-version="2" data-pen-title="CppComet chat example" class="codepen">See the Pen <a href="https://codepen.io/Levhav/pen/yPgddg/">CppComet chat example</a> by Trapenok Victor (<a href="https://codepen.io/Levhav">@Levhav</a>) on <a href="https://codepen.io">CodePen</a>.</p> | ||
+ | <script async src="https://production-assets.codepen.io/assets/embed/ei.js"></script> | ||
</html> | </html> | ||
+ | |||
+ | ===== История сообщений для чата ===== | ||
+ | |||
+ | Можно до 99 последних сообщений чата загружать из истории комет сервера. | ||
+ | Для включения сохранения истории сообщений в канале чата надо выполнить CometQL запрос в online командной строке для CometQL на странице в разделе Real time monitor. | ||
+ | <code sql> | ||
+ | INSERT INTO pipes_settings ('name', 'length') VALUES ('web_chat_pipe', 10); | ||
+ | </code> | ||
+ | |||
+ | ==== Очищение истории сообщений чата ==== | ||
+ | |||
+ | Для очищения истории сообщений в чате надо выполнить CometQL запрос в online командной строке для CometQL на странице в разделе Real time monitor. | ||
+ | <code sql> | ||
+ | DELETE FROM pipes_messages WHERE name = 'web_chat_pipe'; | ||
+ | </code> | ||
+ | |||
+ | <note important>Обратите внимание на разницу в командной строке CometQL: на страницах с документацией демо доступ для dev_id = 15 а в разделе Real time monitor командная строка для управления вашим личным dev_id</note> | ||
+ | |||
+ | ===== Примечания ===== | ||
+ | |||
+ | <note tip>Если вы захотите указать другое имя канала для работы чата, то учтите, что из Javascript api можно отправлять сообщения только в каналы начинающиеся с web_ Более подробно об этом смотрите в [[comet:javascript_api#зарезервированные_имена_каналов|JavaScript API - зарезервированные_имена_каналов]]</note> |