Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.01.2010, 23:48
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 1  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
По умолчанию чат с персонажами

Всем привет, я изучаю flash as3 где-то пол года, опыта мало, но результаты какие-никакие есть. У меня есть задача создать приложение вконтакте чат с персонажами.
Ребят подскажите, пожалуйста алгоритм и общий подход.

Для начала я создал:
Класс документа, подгружающий в себя все классы, образующие интерфейс. Создал класс UserData, который в будущем будет обращаться к данным пользователя, загрузившего приложение и пр. классы, создающие локацию и персонажа в ней. Но дальше не могу продвинуться, не могу понять алгоритм самого чата -
каким образом принимать сообщения от пользователей? Каждый раз обращаться скажем к текстовому файлу, в который будут писаться сообщения? Или как? Каким образом обнаружить что еще какой-то пользователь поставил себе приложение и еще и вошел в чат? Т.е. я просто должен каждый раз посылать запросы и т.е. каждый пользователь будет запрашивать определенный файл? И как следить за этим файлом? Он же раздуется до безобразия? Как мне определять что нужно удалять старые сообщения и пр. вобщем буду благодарен за любую такого рода информацию по общим принципам.

И да - если я задаю такие вопросы- стоит ли браться за это или у меня слишком мало знаний чтобы тратить свое время на этот чат?

Старый 15.01.2010, 00:02
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Есть пример чата http://chat.vkontakte.ru/, если не видели.

Старый 15.01.2010, 00:06
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 3  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
udaaff, да спасибо, видел, сейчас его параллельно изучаю, пока что вижу что пользователи отображаются посредством какого то запроса через определенное время, но что и как пока что непонятно.

Старый 15.01.2010, 12:39
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Сообщение от AlexDesinger Посмотреть сообщение
udaaff, да спасибо, видел, сейчас его параллельно изучаю, пока что вижу что пользователи отображаются посредством какого то запроса через определенное время, но что и как пока что непонятно.
Код этого чата не смотрел, но видно, что весь чат строится на двух post запросах getMessages и sendMessage. Комната = session. Список пользователей (скорее всего) в той или иной комнате строится на основании анализа очереди сообщений.
Полноценный чат там невозможно реализовать.

Старый 15.01.2010, 14:28
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 5  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
Цитата:
Полноценный чат там невозможно реализовать.
аааа вот оно в чем дело. Т.е. выдумывать и симулировать так и так?
Я вот тут подумал, а что если делать так:
Создаем файлик userOnline.txt, например отправляем в него id пользователя как только его приложение-чат готово(все загрузилось и построилось)и естесственно одновременно загружаем от туда всех зеров, что подключились до него. Загружать этот файлик, скажем каждые 5 сек, для проверки или каждый раз когда адресуется личное сообщение? Вот такой алгоритм как думаете не сильно загрузит сервак и пр.? Нужно же еще примерно таким же способом считывать сообщения, а так же после обнаружения юзера - подгружать инфу о нем(местоположение вид перса), некоторую постоянно, некоторую при запросе.

да и еще чего то не пойму - мне файлы данных дадут загрузить на их сервер рядом с флэхой или все это удаленно надо делать а в контакте грузить тока флэху?


Последний раз редактировалось AlexDesinger; 15.01.2010 в 14:31.
Старый 15.01.2010, 14:55
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 6  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
аааа вот оно в чем дело. Т.е. выдумывать и симулировать так и так?
Полноценный чат, я имею в виду, полностью клиентский (без использования своих ресурсов).

Ну а по поводу, вообще, реализации чата, думаю, что лучше через сокет сервер все это дело организовывать.

Цитата:
да и еще чего то не пойму - мне файлы данных дадут загрузить на их сервер рядом с флэхой или все это удаленно надо делать а в контакте грузить тока флэху?
Загрузить то можно, но только рид онли с ними работать можно будет.

Старый 15.01.2010, 19:16
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 7  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
Цитата:
Ну а по поводу, вообще, реализации чата, думаю, что лучше через сокет сервер все это дело организовывать.
покапавшись немного в своих пыльных учебниках по macromedia flash mx нашел интересную книжку - "Популярные web приложения на flash mx" где очень все хорошо и подробно объясняется по поводу on-line игр и characters chat на flash.
Теперь постепенно приходит понимание о принципе организации онлайн проектов - классная книжка, кому интересно могу прислать на почту, формат *.pdf

Ну тк вот, в этой книжке рекомендуется установить т.н. ElectroServer на локальную машину(видимо для отладки) и на сервер, а для подключения к серверу использовать два файлика *.as. Но самое потрясающее и интересное, это то что этот сервер заточен специально для таких проектов и имеет в себе уже достаточно много стандартных функций.

Все это очень интересно и круто, но теперь я почти уверен что практически нереализуемо под приложение вконтакте, т.к. подозреваю что никакой сервер мне туда установить никто не даст.

Обидно....

Старый 15.01.2010, 19:29
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 8  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Все это очень интересно и круто, но теперь я почти уверен что практически нереализуемо под приложение вконтакте, т.к. подозреваю что никакой сервер мне туда установить никто не даст.
Ну туда кончено никто не даст . Кроме того ElectroServer еще и стоит немало. Смотрите в сторону Red 5 + VPS. На Red 5 есть даже пример реализации простенького чата.

Старый 15.01.2010, 20:26
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 9  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
дк а это...у меня задача только для вконтакте...но получается что только симуляция.
Но вот смотрю я код в бесплатном чате и никак не могу понять как он выстраивает список пользователей, точнее как его обновляет.

Старый 15.01.2010, 20:38
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 10  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: 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.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:56.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.