CREATIFF DESIGN VOC++
VOC++ является расширением (модом) к бесплатному движку Voodoo Chat, а не самостоятельной программой. Предназначен для создания веб-чатов и предназначается для малых и средних аудиторий (до 350 человек в онлайне одновременно).
В общих чертах, VOC++ - это видоизмененный потоковый (stream) VOC движок, созданный для поддержки загруженных чат-серверов с большим количеством посетителей. Основная часть написана на PHP, однако для эффективной работы при сотнях посетителей чат использует специального "демона", написанного на С++. Этот чат использует только HTML и Javascript, так что посетителям не нужна, например, поддержка Java. Он работает практически в любом современном браузере на любой платформе.
Оригинальный Voodoo Chat, написанный Владом "Voodoo" Вострых в 1999-2004 годах, находится по адресу http://www.vochat.com.
VOC++ разработан CREATIFF Design Studio (Украина). Ограничения и внесенные изменения описаны в разделе "Версии".
Отдельное спасибо: Марку Жевтовику (Mark Jeftovic) за его комплект WHOIS классов для PHP.
Важно: авторские права на WHOIS классы для PHP не принадлежат CREATIFF Design Studio, а принадлежат их уважаемому автору.
Где можно увидеть VOC++ в работе?
Например, на http://chat.vbios.com (русский вариант) или на http://www.rozmova.if.ua (украинский вариант).
В чем отличие VOC++ от традиционных решений?
На данный момент существует несколько типов html-чатов: чаты с перезагрузкой, чаты на платформе java и непрерывные (их еще иногда называют "потоковые").
Чаты с перезагрузкой являются наиболее медленными, но и самыми простыми в написании, работают на всех браузерах, которые поддерживают фреймы (все современные). "Сердцем" такого чата является специальная CGI-программа (чаще всего скрипт на языке php или Perl), которая, к примеру, раз в 20 секунд запрашивает с сервера новые реплики и отсылает их браузеру пользователя. Такая программа запрашивает фиксированное количество сообщений и, даже если новых из них всего 2-3, то пользователь все равно получит 40 последних. Нетрудно заметить, что такой тип чата создает большую нагрузку как на канал связи, так и на сервер, ведь если пользователей будет 200, то сервер должен будет обработать 200 * 3 = 600 запросов в минуту, или 10 запросов в секунду. Существуют различные модификации чатов с перезагрузкой (например, с использованием JavaScript), которые получают только новые реплики, что значительно экономит траффик, но количество запросов к серверу остается постоянным.
На практике это означает, что большинство хостеров отказываются предоставлять услуги по размещению чатов такого типа, потому что их сервера перестают работать в нормальном режиме при количестве пользователей более 20. Использовать такой чат нужно с большой осторожностью.
Чаты на платформе java значительно быстрее предыдущих. Движки используют java-апплеты для получения новых реплик, а некоторые -- даже для отправки сообщений. Такой подход позволяет снизить нагрузку как на сервер, так и на канал связи. Однако чату на java присущ один, но крайне серьезный недостаток - на копьютере пользователя должна быть установлена java-машина. К большому сожалению, политика разработчика java, компании Sun Microsystems, привела к тому, что до сих пор java-машина не поставляется вместе с браузером: например, для Internet Explorer 6+ ее нужно устанавливать отдельно, а браузер Opera доступен для установки в двух вариантах - с java и без.
На практике это означает, что у примерно 30-40% потенциальных посетителей Вашего чата java-машина установлена не будет, и, соответсвенно, пользоваться чатом они не смогут. Так же далеко не все хостеры предоставляют услуги по запуску сервлетов -- java-апплетов на сервере.
Потоковые чаты являются самыми быстродействующими, их "изюминкой" является создание непрерывных потоков сообщений (streams) от сервера к браузеру пользователя. Для этого на сервере должна быть постоянно запущена специальная программа ("демон"), которая принимает подключения от браузеров и отсылает им сообщения. Демон обслуживает всех пользователей и не требует периодического запуска CGI-скрипта. Таким образом колоссально экономится как процессорное время сервера, так и оперативная память -- ведь на каждый CGI-запрос сервер запускает копию веб-сервера (чаще всего это Apache 1.3+) и интерпретатор CGI-скрипта (php или Perl). Технология потокового чата подразумевает, что демон будет прослушивать некий порт на сервере на предмет входящих подключений -- то есть хостер должен разрешить запускать демон у себя (это разрешают далеко не все), но и выделить отдельный порт.
На практике это означает, что найти хостинг для потокового чата достаточно сложно, только некоторые крупные компании идут навстречу пользователям и размещают чаты подобного типа. К сожалению, за скорость и надежность приходится платить именно такими техническими требованиями, но зато можно не опасаться наплыва большого количества посетителей: если чат с перезагрузкой перестанет нормально справлятся с работой, когда в онлайне будет около 50 человек, то для потокового чата это не нагрузка в принципе. Все крупные чаты работают именно по потоковой технологии.
VOC++ реализован именно как потоковый чат (но с возможностью принудительной работы в режиме "перезагрузки"!), что делает его безусловно привлекательным для ресурсов с любым количеством посетителей. Весьма скромные требования к аппаратной части сервера и обилие функций позволяют нам предлагать его как оптимальную платформу для Вашего чата. Так же для веб-сервера Apache Владом Вострых был разработан специальный модуль mod_voc, который позволяет обойтись без отдельного порта на сервере!
Ключевые возможности VOC++
многоязыковой интерфейс;
возможность создавать виртуальные "комнаты" для посетителей;
"общий" и "приватный" каналы (то, что пишут в привате, видят только автор и адресат);
различные дизайны;
существование различных пользовательских групп (пользователи, шаманы, модераторы, администраторы, VIP-пользователи);
возможность виртуально жениться и разводиться;
деньги в чате и виртуальные товары, влияющие на процесс общения;
рейтинг пользователей как по времени проведения в чате, так и по фотографиям;
возможность создавать объединения пользователей (кланы) с собственными знаками отличия;
возможность выделить любого пользователя при помощи "разноцветного" ника, статуса или амулета;
развитая административная часть: гибкая система банов по нику, IP-адресу, подсети, ID браузера, cookie, существование "личных дел" каждого из посетителей, приватные каналы администраторов и модераторов, редактирование профилей, можно заставаить провинившегося замолчать на некторое время, войти "невидимкой" и т.п.;
у каждого пользователя есть свой профиль, куда он может поместить свою фотографию и где находится его гостевая книга;
возможность писать приватные сообщения, когда пользователя нет в чате ("личка");
можно игнорировать любого из пользователей;
дружественный интерфейс и надежная система безопастности;
статистика чата
.. и много чего еще, подробнее описано в разделе "Версии".