![]() |
чат с персонажами
Всем привет, я изучаю flash as3 где-то пол года, опыта мало, но результаты какие-никакие есть. У меня есть задача создать приложение вконтакте чат с персонажами.
Ребят подскажите, пожалуйста алгоритм и общий подход. Для начала я создал: Класс документа, подгружающий в себя все классы, образующие интерфейс. Создал класс UserData, который в будущем будет обращаться к данным пользователя, загрузившего приложение и пр. классы, создающие локацию и персонажа в ней. Но дальше не могу продвинуться, не могу понять алгоритм самого чата - каким образом принимать сообщения от пользователей? Каждый раз обращаться скажем к текстовому файлу, в который будут писаться сообщения? Или как? Каким образом обнаружить что еще какой-то пользователь поставил себе приложение и еще и вошел в чат? Т.е. я просто должен каждый раз посылать запросы и т.е. каждый пользователь будет запрашивать определенный файл? И как следить за этим файлом? Он же раздуется до безобразия? Как мне определять что нужно удалять старые сообщения и пр. вобщем буду благодарен за любую такого рода информацию по общим принципам. И да - если я задаю такие вопросы- стоит ли браться за это или у меня слишком мало знаний чтобы тратить свое время на этот чат? |
Есть пример чата http://chat.vkontakte.ru/, если не видели.
|
udaaff, да спасибо, видел, сейчас его параллельно изучаю, пока что вижу что пользователи отображаются посредством какого то запроса через определенное время, но что и как пока что непонятно.
|
Цитата:
Полноценный чат там невозможно реализовать. |
Цитата:
Я вот тут подумал, а что если делать так: Создаем файлик userOnline.txt, например отправляем в него id пользователя как только его приложение-чат готово(все загрузилось и построилось)и естесственно одновременно загружаем от туда всех зеров, что подключились до него. Загружать этот файлик, скажем каждые 5 сек, для проверки или каждый раз когда адресуется личное сообщение? Вот такой алгоритм как думаете не сильно загрузит сервак и пр.? Нужно же еще примерно таким же способом считывать сообщения, а так же после обнаружения юзера - подгружать инфу о нем(местоположение вид перса), некоторую постоянно, некоторую при запросе. да и еще чего то не пойму - мне файлы данных дадут загрузить на их сервер рядом с флэхой или все это удаленно надо делать а в контакте грузить тока флэху? |
Цитата:
Ну а по поводу, вообще, реализации чата, думаю, что лучше через сокет сервер все это дело организовывать. Цитата:
|
Цитата:
Теперь постепенно приходит понимание о принципе организации онлайн проектов - классная книжка, кому интересно могу прислать на почту, формат *.pdf Ну тк вот, в этой книжке рекомендуется установить т.н. ElectroServer на локальную машину(видимо для отладки) и на сервер, а для подключения к серверу использовать два файлика *.as. Но самое потрясающее и интересное, это то что этот сервер заточен специально для таких проектов и имеет в себе уже достаточно много стандартных функций. Все это очень интересно и круто, но теперь я почти уверен что практически нереализуемо под приложение вконтакте, т.к. подозреваю что никакой сервер мне туда установить никто не даст. Обидно.... |
Цитата:
|
дк а это...у меня задача только для вконтакте...но получается что только симуляция.
Но вот смотрю я код в бесплатном чате и никак не могу понять как он выстраивает список пользователей, точнее как его обновляет. |
Пользователь открывает приложение. Приложение отправляет post запрос на Вконтакт с параметрами { method: getMessages, session: [viewer_id] }.
Т.е. приложение получает историю сообщений из определенной комнаты, с номером равным id текущего пользователя. На основании ответа определяет список юзеров присутствующих в чате. Я предполагаю, если время сообщения пользователя меньше текущего времени на определенное количество, то пользователь считается покинувшим чат. Иначе присутствует. Если пользователь входит в какую-то комнату (session), то приложение шлет запрос { method: sendMessage, session: [id комнаты], message: %%join }. Далее клиенты опрашивают Вконтакт через getMessages и если встречают %%join, то добавляют юзера в список пользователей в комнате. Скорее всего так, я думаю :) |
| Часовой пояс GMT +4, время: 04:43. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.