Чат на ASP: от простого к сложному. Часть
3
Автор: Олег Яцура
Мир прекрасен и удивителен. Все работает, все крутится и вертится. Но, пора
и задуматься (пока еще не поздно и не жалко выбрасывать в корзину готовый программный
код), а зачем все это надо? Не проще ли использовать Microsoft Chat или, скажем,
Mirc? Взял, поставил, запустил - и без проблем... Сей вопрос волнует умы уже давно
и весьма спорен по своей сути. Во-первых, все зависит от того, с какой точки зрения
к этому подходить. Если с точки зрения творчества - то тут уж кому что нравится
(ну вот нравится мне, допустим, писать приложения именно под WEB и все тут). А
во-вторых, при использовании уже готовых стандартных средств общения вам придется
"подстраиваться" под то что есть (собственной "изюминки" у вас уже не будет).
Есть еще пара плюсов использования именно WEB-технологий: это отсутствие "головной
боли" с клиентской частью (ну, не совсем, конечно, но все же...) и гибкость интрефейса
при использовании HTML. На самом же деле, любой создатель сайта почему-то строит
свой сервер именно под WEB и именно под "стандартные" браузеры, а не создает свои
протоколы, клиенты, языки и так далее. Не стоит ли задуматься над этим?
Ну да ладно, хватит пререливать из пустого в порожнее, пора заняться созданием
той самой "изюминки". Здесь сразу нужно определиться, для чего и почему вы создаете
свой чат-сервер. В подобной ситуации можно идти двумя путями: придумать сногсшибательное
название, а потом выстроить все остальное в соответствии с ним, или наоборот -
выстроить четкую структуру, а потом уже ломать голову над тем, как все это безобразие
обозвать :-)). Кстати, сие вполне серьезно. Если вы в самом начале решили обозвать
свое творение "Отель у погибшего альпиниста", то вряд ли в него впишутся всякие
рыцари и драконы. Вас просто не поймут.
Не стану склонять вас ни к тому ни к другому варианту, дам для начала пару
рекомендаций в построении общей виртуальной структуры:
- для начала , все же, четко разберитесь, хотите ли вы создать просто средство
для общения без всяких там "наворотов" или вам по душе именно world-строительство;
- если первое - просто не утруждайте себя дальнейшим чтением этого виртуального
бреда;
- если же второе - то стоит сесть и подумать, что именно вам по душе, может
стоит взять за основу полюбившееся вам какое-то произведение или пойти по пути
адаптации вашего чат-мира к вашей профессиональной деятельности.
Для наглядности могу привести пример собственного чат-сервера. В виду того,
что угораздило меня родиться потомственным железнодорожником в третьем поколении
(сам бог велел не в космонавты ломиться, раз уж дед, отец и мать более полувека
на стальных магистралях). То и далеко ходить не стал. Нарек чат " Станция Гадюкино".
Отсюда и всяческие паравозы с кастылями в дизайне, дежурный по станции - бот в
чате, статус администрадора - ДС (для непосвященных, ДС по жд абревиатуре - начальник
станции) ну и так далее (самый младший статус, кстати, стрелочник :-))) ...
Ну что, пофантазировали? Нарисовали себе целый виртуальный мир, который будет
"жить" на вашем сервере, подчиняясь созданным вами (или уже самими пользователями)
законам, с прекрасными замками и простыми лачугами, с базарными площадями, полицейскими
участками и судами, многопартийностью и всяким прочим хламом? :-) Теперь хоть
до самого утра мне можете рисовать прелести всяких мирков и мелкомягких чатов,
такого там нет и пока не предвидется :-)). Желательно нарисовать всю эту красоту
на бумажке и повесить на стену - уже пол - дела, можно сказать, сделано :-). Здесь
дам пару советов: во-первых, не стоит сразу хвататься за все это великолепие,
каким бы сильным программистом вы себя не считали, задача (по закону того же Мерфи)
приобретет умопомрпачительные размеры и погребет вас под собой, во-вторых, идеальный
ход и, по настоящему программистский, если вы изначально разработаете модульную
структуру вашего проекта, при которой к основному ядру можно будет поэтапно "цеплять"
готовые модули, наращивая и увеличивая ваш чат.
Попутно стоит решить вопрос с администрированием, вернее с модераторством (если
у вас, конечно, нет желания стать второй кроваткой). Для чего, скорее всего, придется
строить иерархическую структуру статусов (сами-то вы вряд ли будете 24 часа в
сутки следить за порядком). Тем более, что наличие статусов придает некую привлекательность
серверу и стимулирует пользовательскую активность. Далее, если вы решили не ограничивать
себя только парой-тройкой окон в чате с полем ввода и общим окном, то должен быть
проработан механизм свзяывания чего-то "дополнительного" (я уж не знаю, что вам
там взбредет в голову - виртуальное казино или просто сервер рассылки поздравительных
открыток). Нужно всегда помнить, что основа всего - ЧАТ-СЕРВЕР. Иначе вы рискуете
лишится определенного количества пользователей - часть совсем уйдет искать удачу
на зеленом сукне вашего казино, часть просто будет перекладывать ваши поздравительные
открытки. Поэтому и связывайте все это соответственно. Можно поступить весьма
неоригинально, применив стандартный человеческий подход. Догадались, какой? :-))
Да просто взять и ввести национальную валюту, прочно привязанную к чат-серверу.
Можете ее накручивать за проведенное время в чате или ею жалование администраторам
выдавать - вариантов море. Заодно и игра в казино приобретет по настоящему азартный
характер, да и открытки перестанут быть "халявными".
Продолжение
Информация взята с сайта www.relib.com