![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
Всем привет, я изучаю flash as3 где-то пол года, опыта мало, но результаты какие-никакие есть. У меня есть задача создать приложение вконтакте чат с персонажами.
Ребят подскажите, пожалуйста алгоритм и общий подход. Для начала я создал: Класс документа, подгружающий в себя все классы, образующие интерфейс. Создал класс UserData, который в будущем будет обращаться к данным пользователя, загрузившего приложение и пр. классы, создающие локацию и персонажа в ней. Но дальше не могу продвинуться, не могу понять алгоритм самого чата - каким образом принимать сообщения от пользователей? Каждый раз обращаться скажем к текстовому файлу, в который будут писаться сообщения? Или как? Каким образом обнаружить что еще какой-то пользователь поставил себе приложение и еще и вошел в чат? Т.е. я просто должен каждый раз посылать запросы и т.е. каждый пользователь будет запрашивать определенный файл? И как следить за этим файлом? Он же раздуется до безобразия? Как мне определять что нужно удалять старые сообщения и пр. вобщем буду благодарен за любую такого рода информацию по общим принципам. И да - если я задаю такие вопросы- стоит ли браться за это или у меня слишком мало знаний чтобы тратить свое время на этот чат? |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Есть пример чата http://chat.vkontakte.ru/, если не видели.
|
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
udaaff, да спасибо, видел, сейчас его параллельно изучаю, пока что вижу что пользователи отображаются посредством какого то запроса через определенное время, но что и как пока что непонятно.
|
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Цитата:
Полноценный чат там невозможно реализовать. |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
Цитата:
Я вот тут подумал, а что если делать так: Создаем файлик userOnline.txt, например отправляем в него id пользователя как только его приложение-чат готово(все загрузилось и построилось)и естесственно одновременно загружаем от туда всех зеров, что подключились до него. Загружать этот файлик, скажем каждые 5 сек, для проверки или каждый раз когда адресуется личное сообщение? Вот такой алгоритм как думаете не сильно загрузит сервак и пр.? Нужно же еще примерно таким же способом считывать сообщения, а так же после обнаружения юзера - подгружать инфу о нем(местоположение вид перса), некоторую постоянно, некоторую при запросе. да и еще чего то не пойму - мне файлы данных дадут загрузить на их сервер рядом с флэхой или все это удаленно надо делать а в контакте грузить тока флэху? Последний раз редактировалось AlexDesinger; 15.01.2010 в 14:31. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Цитата:
Ну а по поводу, вообще, реализации чата, думаю, что лучше через сокет сервер все это дело организовывать. Цитата:
|
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
Цитата:
Теперь постепенно приходит понимание о принципе организации онлайн проектов - классная книжка, кому интересно могу прислать на почту, формат *.pdf Ну тк вот, в этой книжке рекомендуется установить т.н. ElectroServer на локальную машину(видимо для отладки) и на сервер, а для подключения к серверу использовать два файлика *.as. Но самое потрясающее и интересное, это то что этот сервер заточен специально для таких проектов и имеет в себе уже достаточно много стандартных функций. Все это очень интересно и круто, но теперь я почти уверен что практически нереализуемо под приложение вконтакте, т.к. подозреваю что никакой сервер мне туда установить никто не даст. Обидно.... |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Цитата:
. Кроме того ElectroServer еще и стоит немало. Смотрите в сторону Red 5 + VPS. На Red 5 есть даже пример реализации простенького чата. |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
дк а это...у меня задача только для вконтакте...но получается что только симуляция.
Но вот смотрю я код в бесплатном чате и никак не могу понять как он выстраивает список пользователей, точнее как его обновляет. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Пользователь открывает приложение. Приложение отправляет post запрос на Вконтакт с параметрами { method: getMessages, session: [viewer_id] }.
Т.е. приложение получает историю сообщений из определенной комнаты, с номером равным id текущего пользователя. На основании ответа определяет список юзеров присутствующих в чате. Я предполагаю, если время сообщения пользователя меньше текущего времени на определенное количество, то пользователь считается покинувшим чат. Иначе присутствует. Если пользователь входит в какую-то комнату (session), то приложение шлет запрос { method: sendMessage, session: [id комнаты], message: %%join }. Далее клиенты опрашивают Вконтакт через getMessages и если встречают %%join, то добавляют юзера в список пользователей в комнате. Скорее всего так, я думаю ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|