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

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.04.2010, 19:39
RedLizard вне форума Посмотреть профиль Отправить личное сообщение для RedLizard Найти все сообщения от RedLizard
  № 1  
Ответить с цитированием
RedLizard
 
Аватар для RedLizard

Регистрация: Feb 2008
Сообщений: 21
По умолчанию Чатрулетка

Чисто в исследовательских целях решил сбацать свою Чатрулетку (соответственно с "блекджеком и шлюхами" ) Использую Stratus + Flash Builder 4. Т.е. предполагается что приложение будет работать как p2p.

Собственно задумался над алгоритмом соединения пользователей. Что бы было понятнее приведу пример. Вот в случае с видеофоном, один пользователь инициирует соединение, а второй на него отвечает. В нашей ситуации, все пользователи инициируют соединение. Вот как организовать их связывание?

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

Регистрация: Apr 2010
Сообщений: 2
ну как получилось с чат рулеткой?

Старый 23.04.2010, 16:59
NS11111 вне форума Посмотреть профиль Отправить личное сообщение для NS11111 Найти все сообщения от NS11111
  № 3  
Ответить с цитированием
NS11111

Регистрация: Mar 2010
Сообщений: 26
Чат рулетку сбацать несложно.
А вот раскрутить - почти не возможно.
Надо же, чтоб люди туда заходили одновременно.
Человек 10-20 в минуту должно пастись одновременно.
То есть сразу надо 20*60=1200 чел в час * 24= ок. 30 тыс в сутки.
И сразу. Иначе хрен туда кто вернется после первого захода,
увидев что там никого нет.
Есть такие клоны чатрулетки - видел. Дохлые сайты.
Потраченное напрасно время и деньги.

А алгоритм...
Ну, что уж тут сложного?
Есть медиасервер, есть HTTP сервер.
На HTTP сервер каждый клиент раз в 1-2-3 секунды делает запрос "соедини меня"
Причем обязательно кто-то первый обслуживается на сервере,
даже если сотни людей шлют запросы в секунду.
Есть файл "ожидающих очереди".
Итак, первый пришедший локирует (делает LOCK - это в Линуксовой CGI-BIN программе) файла очереди. Никто другой этот файл изменить не может в это время.
Он пишет туда свои данные. В конце делает UNLOCK.
Заходит другой на сервер. Ага. Файл очереди не пустой.
Забирает себе партнера и т. п.
Естественно, все файлы при работе локируются - потом разлокируются.
Куча мелочей типа следующего.
Человек встал в очередь, но отвалилися - закрыл броусер.
Значит, должно быть время постановки в очередь.
Значит, надо всегда очищать файлы от мусора и тп.

Удачи.
Но успех чатрулетки , увы, не повторить!

Старый 23.04.2010, 17:41
Crenth вне форума Посмотреть профиль Отправить личное сообщение для Crenth Найти все сообщения от Crenth
  № 4  
Ответить с цитированием
Crenth
[+1 19.06.10]
[+1 27.07.10]
 
Аватар для Crenth

Регистрация: Aug 2009
Адрес: UTC+2
Сообщений: 353
алгоритм выбора собеседника может быть любой.
если это настоящая рулетка, то скорее всего есть некий список онлайн-претендентов и сервер просто выбирает случайным образом пары. поскольку IP клиентов известны, можно передать одному и другом адреса их оппонентов и "заставить" их обменяться коннектами

возможно есть некие предпочтения, которые учитываются при выборе. например, если один оппонент педик, то надо подобрать ему соответствующую пару.
поэтому, скорее всего, без SQL, которая учитывает данные регистрационных анкет, тут не обойтись.

Старый 24.04.2010, 09:50
NS11111 вне форума Посмотреть профиль Отправить личное сообщение для NS11111 Найти все сообщения от NS11111
  № 5  
Ответить с цитированием
NS11111

Регистрация: Mar 2010
Сообщений: 26
Да нет же. Можно как раз обойтись без баз данных.
И нужно. Без мороки.
Первым пришел на сервер - оставил запись в списке ожидания.
Вторым пришел на сервер - забираешь первого.
И так далее: второй забирает первого.
Этим и определяется случайный выбор.

Но если еще добавить специальный выбор педиков и т. д.
То очередь будет не из одной записи, а из нескольких.
И педик будет сидеть в очереди пока его не найдет партнер "мудик".
Ну, и тонкости, тонкости.
Например.
Каждую секунду соединившиеся должны посылать друг другу в медиапотоке
пакет "я соединен". Не пришел пакет - делаем "Disconnect".
Похоже, в чатрулетке это сделано недавно. А то раньше вдруг коннект пропадал, картинка замирала - и всё висло. А это ж просто отваливался партнер закрытием броусера.
В этом случае событие, что поток не транслируется уже , не инициируется.

Ну, и еще раз: хрен раскрутишь такой сайт, где ОБЯЗАТЕЛЬНО присутствие нескольких парнеров ОДНОВРЕМЕННО.

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:17.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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