Вторник, 10.03.2026, 22:17
Новостные ленты
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
Меню сайта
Категории раздела
Статьи и Новости [396]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Статьи » Статьи и Новости » Статьи и Новости

чат на php

чат на php

push сервис — позволяет отправлять свои сообщения клиенту по инициативе push сервера то есть push сообщения.

Для доставки уведомлений используется комет технология. Для работы push оповещений нужен comet сервис. comet сервис, его ещё называют комет service, поддерживает постоянно открытое сетевое соединение с браузерами клиентов используя технологию websocket или long polling и по команде вашего web сервера может отправить push уведомление любому клиенту.

Применение push server поможет значительно разгрузить ваши сервера и предоставит возможность использования comet сервиса уведомлений без усложнения вашей инфраструктуры.

В данной статье разберём как разработать скрипт чата с применением комет сервера. Наш чат на сокетах php будет работать по технологии websocket. Для связи php с websocket сервером надо использовать php comet api.

Пример как написать простой скрипт чата

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

скрипт чата на php: Принцип работы.

  1. Все сообщения от всех пользователей отправляются в общий канал web_chat_pipe.
  2. Структура сообщения содержит в себе текст сообщения и имя отправившего это сообщение.
  3. Все пользователи участвующие в чате подписаны на канал чата. И полученные из него сообщения отображаются в ленте общения.
Примечание: В примерах будет использована библиотека JQuery.

Сначала расскажу как работает простой чат ajax php.

Первое что надо отметить это то что в чате посетители общаются используя только комет сервер. Это имеет ряд недостатков делающий из чата скорее упрощёную учебную модель.

Недостатки:

  1. Нельзя забанить пользователя
  2. Нет регистрации, это позволяет любому представится чужим именем.

Плюсы:

  1. просто в реализации, фактически это javascript чат
  2. лёгок поцес установки чата на сайт

А далее по кусочкам рассмотрим как написать чат для сайта на php:

Функция web_send_msg отправляет сообщение в чат.

function web_send_msg
{
// Получение значений из html элементов ввода.
var text = $"#WebChatTextID".val; // Получаем текст сообщения
var name = $"#WebChatNameID".val; // Получаем имя пользователя

// Очистка поля с текстом сообщения
$"#WebChatTextID".val"";

// Добавление отправленного сообщения в свой список сообщений.
$"#WebChatFormForm".append">p<>b<"+name+": >;

// Отправка сообщения в канал чата.
CometServer.web_pipe_send"web_chat_pipe", {"text":text, "name":name};
}

Вот можно заметить что строка: $"#WebChatFormForm".append"<p>>b>"+name+": <; добавляет напечатанное сообщение в нашу чат ленту, так чтоб потом было удобно перечитывать сообщения.

А вот вызов CometServer.web_pipe_send"web_chat_pipe", {"text":text, "name":name}; производит непосредственно отправку нашего сообщения всем остальным участникам онлайн чата. Первый аргумент это имя канала в который мы отправим сообщение. Второй аргумент это само сообщение.

Примечание: Обратите внимание что имя канала начинается с префикса "web_". Во все каналы имя которых начинается с префикса "web_" сообщение может отправить любой кто знает имя канала прямо из JavaScript.

Этот кусок скрипта определяет callback обработки на получение отчёта о доставке сообщения.

CometServer.subscription"_answer_to_web_chat_pipe", functionp
{
$"#answer_div".html"Сообщение доставлено "+p.data.number_messages+" получателям. "+p.data.error;
};

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

Категория: Статьи и Новости | Добавил: ant2 (15.11.2014)
Просмотров: 886 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Создать бесплатный сайт с uCoz