Среда, 01.05.2024, 11:33
Приветствую Вас Гость | RSS
Меню сайта
Категории раздела
Мои статьи [27]
Статистика

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

пишем чат на php

Установка чата на сайт

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

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

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

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

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

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

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

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

Сначала разберём как работает простой чат для сайта на 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".appendb>"+text+"<; добавляет напечатанное сообщение в нашу чат ленту, так чтоб потом было удобно перечитывать сообщения.

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

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

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

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

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

Категория: Мои статьи | Добавил: Karl (15.11.2014)
Просмотров: 1872 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск