![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2008
Сообщений: 67
|
Здравствуйте, написал простейший видеочат, теперь расширяю его функциональность.
Сейчас все пользователи подключаються к rtmp"//host/room, т.е. у меня как бы одна комната. _defInst_ как я понимаю называется. Задача дать возможность пользователям создавать комнаты. Подскажите пожалуйста как грамотно это реализовать. Я пишу чат в купе с PHP+JavaScript+Flash. |
|
|||||
|
Регистрация: Nov 2008
Адрес: Атланта
Сообщений: 1,271
|
я думаю что по аналогии, ведь одну комнату общую Вы сделали, теперь дальше делаем выбор комнаты и вход под логином и паролем
__________________
Пока я жив, Вы горем обеспечены |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 67
|
Алгоритм то понятен, но дело в том что остальные комнаты надо программным путем создавать
Добавлено через 1 минуту Пользователи уже сейчас авторизуются средствами PHP. |
|
|||||
|
Регистрация: Nov 2008
Адрес: Атланта
Сообщений: 1,271
|
да, ну так комнаты ты можешь зараннее создать и давать после авторизации список комнат куда заходить, верно ведь?
__________________
Пока я жив, Вы горем обеспечены |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 67
|
А мне надо не заранее. Мне надо что бы пользователи комнаты создавали сами. В этом то и дело
Добавлено через 34 секунды Очень нравится Цитата:
|
|
|||||
|
Регистрация: Nov 2008
Адрес: Атланта
Сообщений: 1,271
|
попробуй сделать так: используй одну комнату, но присваивай ей разные имена от разных пользователей, так сказать клонируй ее. А вот уже с подключениями тут уж нужно будет подумать, и неполохо помучаться
но по большому счету, типы комнат либо определены зараннее, либо они создаються через админку, админом, а что это будет если каждый пользователь будет создавать свою комнату, это будет форменный беспорядок, так делать нельзя! тем более это видео чат, один создает, другие подключаються.
__________________
Пока я жив, Вы горем обеспечены |
|
|||||
|
Регистрация: Jul 2006
Сообщений: 170
|
Первое что приходит в голову, это иметь одну аппликацию, к которой коннектятся все пользователи, но если я создатель комнаты, то я вызываю на сервере команду, которая создает объект (комнату), этот объект будет хранить все что связанно с этой комнатой: список юзеров, название комнаты ну и т.п. А если ты хочешь просто подключится к комнате любой, то ты выбираешь из списка конкретную комнату и вызываешь команду на сервере, которая возвращает объект хранящий всю нужную информацию.
|
|
|||||
|
Регистрация: Dec 2008
Сообщений: 67
|
Ваше мнение tikhop очень схоже с моим. Но я только изучаю эти вопросы и поэтому не хотя изобретать велосипед спрашиваю совета бывалых. Меня вот что смущает, написать вышеуказанную логику особой проблемы не составит, главное что бы логика правильная была и здравая. В FMS есть понятие application, и есть понятие instance. Когда я подключаюсь к application room, по умолчанию создается instance _defInst_. Я предполагаю что можно на сервере в application создавать разные instance и использовать их как названия комнат. Я могу быть не прав.
Добавлено через 1 минуту zurkis спасибо, но что-то не то. Очень тяжеловато звучит ваш алгоритм. Хотя я могу и ошибаться. Новичок во flash Добавлено через 1 час 19 минут Пока ждал ответа потестировал свою идею и вот что получилось Раньше я коннектился к такому адресу и на свере появлялось application=room, instance=_defInst_ Попробывал коннектиться так и на свере появлялось application=room, instance=myinst т.е по моему можно использовать instance как имя комнаты! Теперь надо проверить общий ли у них SharedObject или нет, если нет то все решиться очень просто.... |
|
|||||
|
Регистрация: Dec 2003
Адрес: Москва
Сообщений: 176
|
shared objects у них разные будут. в этом и смысл инстансов - приложение написал один раз, а использовать потом можно кучу его независимых копий
|
|
|||||
|
Регистрация: Dec 2008
Сообщений: 67
|
fishbounce я это уже понял. Спасибо. Вообщем самый логичный способ организовать многокомнатный видеочат это именно instance. А управлять ими можно либо через RTMP admin API сервера или через HTTP admin API.
Добавлено через 8 минут я скорее всего буду управлять через HTTP с клиента используя Ajax и разбирая ответы прямо в JavaScript. Надо будет преположить что работать с HTTP admin придется используя proxy который будет добавлять в GET имя админа и пароль, а может лучше для этого написать SOAP прослойку на PHP которая и будет работать c HTTP admin. А может и через RTMP надо поразмышлять о преимуществах. Меня пугает что нужно пароль HTTP admin передавать в открытом GET. Как то не продумано, а может я чего то еще не знаю. Интересно PHP может работать с RTMP протоколом. Последний раз редактировалось petav; 22.12.2008 в 23:54. |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:24. |
|
|
« Предыдущая тема | Следующая тема » |
|
|