Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Многопользовательские флэшики (http://www.flasher.ru/forum/showthread.php?t=114291)

SunShadow 24.07.2008 11:29

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

p.s.: извините за мой деревенский слэнг) надеюсь поняли чего же я хочу спросить.

litebox 24.07.2008 13:01

Я вижу два варианта связи флэш-клиента и сервера: через HTTP и через TCP/IP.
HTTP может подойди только в случае, если необходимо периодически запрашивать данные от сервера. При этом сервер не может поддерживать канал связи, а лишь отвечать на запросы флэш-клиента.
TCP/IP - соединение, которое флэш-клиент и сервер поддерживают на протяжении всего нужного времени (или пока работает сеть :))
Данные можно передавать в формате XML.
Таким образом копать нужно: со стороны флэша могут пригодится следующие классы: URLLoader, Socket, XML. Сервер желательно писать на Java, что требует знание последней :). Или воспользоватья уже готовым (тут посоветовать ничего не могу - когда было нужно, писал сам - хоть и простенький, зато свой собственный :))

SunShadow 24.07.2008 13:16

Ну с URLLoader, Socket, XML все понятно) А вот по серверам может кто чего посоветует?
В сборнике рецептов советуют:
Цитата:

Обмен информацией между роликами, воспроизводимыми на разных
клиентских компьютерах, реализуется при помощи серверной
технологии по одному из трех возможных вариантов:
• Отправка и получение данных разными роликами между собой
могут обеспечиваться применением удаленных совместно используе-
мых объектов в сочетании с медиа-сервером Flash Media Server
(раньше он назывался Flash Communication Server).
• Может быть установлено сетевое соединение с сервером, которое
будет обеспечивать передачу сообщений между всеми
подключенными клиентами.
• Обмен информацией не в режиме реального времени можно
реализовать посредством последовательного опроса в сочетании с
серверной технологией, что обеспечит отправку и получение новой
информации с сервера через определенные интервалы времени.
Кто знаком с этим зверем - Flash Media Server? С какой стороны к нему подходить?
Может кто еще какие сервера знает, подскажите где по ним информацию искать)

BlooDHounD 24.07.2008 13:46

litebox, у вас каша в голове.
Вы знаете что такое TCP/IP? HTTP во фэше тоже использует TCP/IP.
почему сервер желательно писать на Java? я вот Джаву ненавижу! хочу писать на асемблере!

litebox 24.07.2008 13:57

Пишите на здоровье, как напишите, приглашайте на смотрины - я за вас искренне порадуюсь, если ваш ассемблерный сервер будет одинаково хорошо работать на серверах под управлением и Windows и Unix. Вы еще, BlooDHounD, и флэш-плеер собственный на ассемблере напишите, и ролики к нему продвигайте, может мир тогда откажется и от Java, и от Flash, будем все вместе на ассемблере писать, так сказать, назад в будущее :))))

SunShadow 24.07.2008 14:00

Ребята давайте жить дружно, ну чего вы перепалку устроили) Мы же информацией делимся а не навязываем кому что и как делать

litebox 24.07.2008 14:06

Цитата:

Сообщение от BlooDHounD (Сообщение 754080)
HTTP во фэше тоже использует TCP/IP

Да во всем мире HTTP использует TCP, TCP/IP - это собирательное название стека протоколов.
Только вопрос темы не в том, как релизовать HTTP через TCP с помощью ассемблерных вставок, а в том, какие есть стратегии создания сетевых приложений :)

Вопрос не в перепалке, а в приличных манерах: я незнакомому человеку в жизни не скажу, что у него каша в голове

ulik 24.07.2008 14:21

litebox >> BlooDHounD, видимо намекал на то, что вы не уточнили, что писать предпочтительнее сервер на яве в силу кросс-платформенности. Но вы забыли сказать, что, в принципе, сервер можно написать, на чем угодно. Дело лишь в этом. А та игра, которую вы затеяли (кидать обидки) - смешна. Не того вы соперника выбрали. Уж, поверьте мне ;)

зы: а чтобы не получить от Дениса "плюс", советую удалить предыдущий пост (дубль)

BlooDHounD 24.07.2008 15:35

litebox, Вы меня поражаете свой ещё большей кашей :) расскажите всё-таки какое отношение TCP/IP имеет к постоянному сокетному соединению :) и как можно сравнивать HTTP и TCP/IP?

litebox, если я Вас задел, это значит лишь одно: Вы не желаете даже вдуматься про то, что написали. HTTP и TCP это протоколы разного уровня. они никоем боком не имееют отношения к разработке. Можно написать свою реализацию HTTP используя обычный Socket ( кстати где-то в сети уже валяется ), но это не будет значит, что он останется протоколом низшего уровня. Напрямую TCP/IP Вы управлять не можите, и использовать его в своих целях Вы тоже не можите. Вы можите писать протоколы верхнего уровня (обёртки TCP/IP), кем уже по своей сути является HTTP.

SunShadow, FMS использует RTMP и AMF протоколы для обмена данными с флэшкой. за это отвечает класс NetConnection. причём используя это класс Adobe разрешает использовать SSL, и ещё парачку наваротов типа UDP (начиная с 10й версии)

итог: во флэше все соединение используют TCP/IP, кроме небольшой группки соединений 10го плэйера.

PS:
Цитата:

Да во всем мире HTTP использует TCP
ага ... скажите это спутниковым провайдерам, которые почему-то очень любят UDP.

litebox 24.07.2008 16:06

Есть во Flash CS3 раздел справки: Networking and communication, там пишут и про HTTP, и про TCP/IP и даже пример сервера на Java (!). Можете завалить корпорацию Adobe письмами про то, как сравнить HTTP и TCP и на чем лушче писать серверные решения. Думаю у них есть специально обученный отдел сотрудников и они с удовольствием с вами схватятся :))))

ramshteks 24.07.2008 16:15

SunShadow, все зависит от ваших целей, если вы собираетесь писать нечто вроде чата(текстового) или пошаговой(как почти все браузерные онлайн-игры) то стоит использовать URLLoader-XML-PHP(или скажем ASP)
но если вас интересует написание к примеру видеочата или онлайн игры реального времени(относительно реального) то тут конечно сложнее, естественно нужно постоянное соединение(насколько знаю в флеше реализуется с помощью класса Socket) а вот серверная, может быть написана скажем на си++(в том числе на жаве или ассемблере)...
все зависит от нужд...

BlooDHounD 24.07.2008 18:11

litebox, хочу хочу хочу! устройте мне рандеву! я так давно не работал с сетевыми приложениями. минут 40. возможно что-то подзабыл из строения сетевых протоколов.

ulik 24.07.2008 19:08

Опять началось..... Устал я от вас. Вечные перепалки... Нет, чтобы "обсудить", обменяться опытом. Нет, надо других попробовать "на зубок". Глупо. "Мы все взрослые люди, давайте, просто достанем и померяем, а?"

BlooDHounD 24.07.2008 19:21

ulik, давай :) у меня 31 см.

просто человек не понимает, что значит "писать про...", а что такое "сравнивать с...". бедные разработчики, к примеру WOW, даже не в курсе, что Адоба умеет на Java сервера писать. пишут себе на своём Си. А адоба в свою очередь почему-то, кроссплатформенный плэйер тоже на Сях пишет ... вот дураки там сидят! а нафига они свой FMS то на Сях написали? ИДИОТЫ!!! что тут ещё сказать?

Diestro 24.07.2008 19:31

Цитата:

Сообщение от ulik (Сообщение 754207)
Опять началось..... Устал я от вас. Вечные перепалки... Нет, чтобы "обсудить", обменяться опытом. Нет, надо других попробовать "на зубок". Глупо. "Мы все взрослые люди, давайте, просто достанем и померяем, а?"

BlooDHounD прав в том, что если кто-то берется учить кого-то, то это нужно делать так, чтобы не запутать человека еще больше и не увести его в дебри.

BlooDHounD 24.07.2008 19:58

Diestro, спасибо :) Вы мой кумир :)

litebox 24.07.2008 20:52

BlooDHounD, вы себя "по мощностям" с разработчиками WoW сравниваете? Завтра объявите, что вы - Бог :)))
Такие гиганты, как Adobe или Microsoft диктуют правила рынка. Я же считаю, что для небольших проектов написание сервера на Java может избавить от лишних проблем: кроссплатформенность и бесплатность - это уже неплохо. Это мое личное мнение и вы меня никак не уговорите писать сервер на С++, хоть я и знаю его лучше, чем Java. Свое личное мнение я написал для SunShadow, а он уже решает, нужен ему мой опыт или нет... и тут врываетесь вы и начинаете все поливать своими UDP-пакетами и спутниковым интернетом... :)

Anry_coolboy 24.07.2008 20:57

что вы тут дебаты устраиваете, лучше б ответили на вопрос автора этой темы!!!

ramshteks 24.07.2008 21:01

мальчикам нужно выяснить отношения, кто круче)
оставь их, а то под раздачу попадешь)

BlooDHounD 24.07.2008 21:30

litebox, я себя нискем не сравниваю, а Вы почему-то читать не умеете.
рас Вы упомянули мощности, о которых раньше не задумывались, то прошу заметить, что небольшой проект проще на ПХП сделать, а не на джаве.

у Вас странное мнение, сперва схоже "со всеми программистами мира", кроме меня, а потом наоборот. интересно как же эти гиганты диктуют правила рынка, если один разбрасывается своим ASP с C#, а второй FMS. в каком месте они диктуют Джаву?

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

а каким боком Вы преплели бесплатность я не врубаюсь ... Джава такая же бесплатная как и другие языки разработки. Или в вашем понимании Джава это уже готовый сервер, за который просто денег не берут?

я всё-таки повторюсь. перечитывайте то, что пишите, а то за громкими словами, некоторые могут и не заметить башей напыщенности. мою то видно за версту.

Anry_coolboy, автору уже давно ответили. если он всё это прочитает, то многому научится из сетевых разработок :) главное не вчитываться в бред litebox'a.

litebox 24.07.2008 21:48

Цитата:

Сообщение от BlooDHounD (Сообщение 754229)
прошу заметить, что небольшой проект проще на ПХП сделать, а не на джаве.

Увольте, ПХП и Java несколько разные вещи... может PHP и JSP вы имели ввиду? Игра реального времени на PHP... ну не знаю, спорить уже не буду...
А где я написал, что Adobe или Microsoft диктуют Джаву? Перечитал то, что пишу, как вы советовали... нигде они Джаву не диктуют... Я имел ввиду, что технологии, которые мы используем, это не только простота и удобство (и не всегда), это еще и продуманная маркетинговая политика крупных фирм, которые эти технологии создают и продвигаю

flash33 24.07.2008 22:28

Остыньте. У меня вопрос, есть где в сети сервис предоставляющий в распоряжение разработчика доступ к TCP сокет-серверу (по образцу Java NIO), и если есть - где? А то, если вы и сами напишите свой сервак это не значит что он будет работать на машине хостера.

BlooDHounD 24.07.2008 22:41

litebox, по-моему у вас нарушены причинно-следственные связи.

кто тут собирается писать игру в реальном времени? Вы живёте в придуманном топике.

flash33, я кажется написал, что никто не ставит такие сервера на машины хостера. все здравомыслящие люди тратятся на свою железку, которую ставят потом, если повезёт, на M9.

jack_the_ripper 24.07.2008 23:52

Я вот заинтересовался онлайн игрушками и просматриваю на форуме соответствующие темы, так вот, я солидарен с автором темыи мне хотелось бы всё-таки получить помощь, я лично верю, что оба бладхаунд и лайтбокс спецы по интернет приложениям, но, ребят, поделитесь уж опытом=) вот конкреный вопрос например: онлайн шахматы для двух игроков, как скоммутировать 2х юзеров?

Anry_coolboy 25.07.2008 00:14

через TCP сокет-сервер

ramshteks 25.07.2008 00:53

Цитата:

Сообщение от jack_the_ripper (Сообщение 754245)
Я вот заинтересовался онлайн игрушками и просматриваю на форуме соответствующие темы, так вот, я солидарен с автором темыи мне хотелось бы всё-таки получить помощь, я лично верю, что оба бладхаунд и лайтбокс спецы по интернет приложениям, но, ребят, поделитесь уж опытом=) вот конкреный вопрос например: онлайн шахматы для двух игроков, как скоммутировать 2х юзеров?

через пхп, мне кажется это проще и наилучший выход для твоего случая

alexcon314 25.07.2008 01:07

Господа, рискуя нарваться на всеобщее непонимание, тем не менее, хочу заметить - флуд в тематическом разделе наказуем.
Хорош панты кидать и "мерять" достоинства "PHP, Java, Си, кросс.." и т.д, дайте примеры серверов с комментами как их эффективно юзать и все будут довольны.
Типа:
Цитата:

"Я сделал так-то и так-то, были глюки и тормоза, но я поправил тут-то и тут-то, и тормоза стали меньше, но глюки остались частично.. Буду делать то-то и то-то... если что отпишусь... а срос я взял тут-то.."
Если нету (или дюже жаль) - чего обсуждать-то?
А FMS он и в Африке работает, да...
Ни на шаг не приблизились к теме пока..

BlooDHounD 25.07.2008 01:34

Anry_coolboy, а что такое "TCP сокет-сервер"? и чем он скажем отличается от апача? я то знаю что понятия не сравнимы, но всё-таки, в чём разница?

alexcon314, к теме? давно приблизились и отдалились. смысл рассказывать о возможных вариантах реализации? давайте возьмём пример и рассмотрим.

tyapichu 25.07.2008 09:26

Цитата:

Сообщение от BlooDHounD (Сообщение 754241)
все здравомыслящие люди тратятся на свою железку, которую ставят потом, если повезёт, на M9.

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

BlooDHounD 25.07.2008 10:21

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

tyapichu 25.07.2008 11:00

Цитата:

Сообщение от BlooDHounD (Сообщение 754301)
я повторю: в целях самообразования люди не размещаются у хостеров, а если и понадобится, то уж с джавой тут кросс-платформенный облом. а с десяток пользователей у вас любой скрптовый язык потянет.

это очень жестоко :) в целях самообразования флешем убиваться об создание собственного сервера со всеми вытекающими. я один. я даже не программист, я гейм-дизайнер, в свободное от работы время я изучаю флеш. мне не нужен сервер. такой странный хостер (они вообще бывают?) меня спас бы. и в этом случае мне было бы глубоко пофик как именно (с помощью программы написанной на Java или C++... хоть ТурбоПаскать с базой на Фокс) подготавливается XMLка для моей флешки со стороны сервера, лишь бы эта XMLка имела ожидаемое/требуемое содержание. мысль моя была такова :)

Alkaz 25.07.2008 11:38

Цитата:

Сообщение от tyapichu (Сообщение 754303)
это очень жестоко :) в целях самообразования флешем убиваться об создание собственного сервера со всеми вытекающими. я один. я даже не программист, я гейм-дизайнер, в свободное от работы время я изучаю флеш. мне не нужен сервер. такой странный хостер (они вообще бывают?) меня спас бы. и в этом случае мне было бы глубоко пофик как именно (с помощью программы написанной на Java или C++... хоть ТурбоПаскать с базой на Фокс) подготавливается XMLка для моей флешки со стороны сервера, лишь бы эта XMLка имела ожидаемое/требуемое содержание. мысль моя была такова :)

я так понимаю имелось ввиду то что сервер в целях образования можно поднять у себя и образовываться, а не то что обязательно самому этот сервер нужно писать. можете попробовать SmartFoxServer, для организации передачи сообщей между пользователями там вроде бы вообще особо напрягаться не нужно + можно дописывать свою логику если хотите большего.
сам я сейчас самообразовываюсь с adobe blazeDS, но тут без явы уже никак:(

Alexander Balaganov 25.07.2008 12:01

нафлудили гору а толку...

Топикстартер, поставьте себе fmis и наслаждайтесь самообразованием. В чем проблема то?

BlooDHounD 25.07.2008 12:12

tyapichu, бугага :) тоесть Вы хотите что бы мир прогнулся под неучей, и сделал Вам кнопку "сделать всё как я хочу!" ?

tyapichu 25.07.2008 12:50

Цитата:

Сообщение от BlooDHounD (Сообщение 754313)
tyapichu, бугага :) тоесть Вы хотите что бы мир прогнулся под неучей, и сделал Вам кнопку "сделать всё как я хочу!" ?

а ты предлагаешь человеку убиться ап стену смежных проблем и так и остаться неучем во всех направлениях, в то время как у него есть реальная возможность хотябы одну проблему изучить до конца?

вот народ говорит, что вроде как все не так сложно и предлагает, извините, какие-то названия для изучения. а то что говоришь ты похоже на подталкивание к изобретению очередного велосипеда :) я хотел бы избежать этого и предполагаю, что велосипед изобрели до меня, и уже существуют удобные/хоть какие сервисы. я об этом.

если ты говоришь что удобных сервисов нет, мне придется с этим смириться и забить нафиг на идею создания реалтаймовой игрушки на флеше, адекватно оценивая свои способности :)

BlooDHounD 25.07.2008 13:06

tyapichu, да? это какие сервисы позволяют ничего не делать? много Вы сможете развернуть серверов не понимая, что такое сервер принципе? ничего не избавит человека от смежных проблем. а советчики, которые слышали некие слова из этой области, только усугубят его проблемы ещё больше. а сервисов вообще нет. открою тайну: чем больше программа умеет - тем больше тебе с ней придётся повозится что бы заставить сделать самое простое. только потому, что ответа на поверхности всей кучи этих возможностей не найти. самый просто способ написать самому самое примитивное серверное приложение. и пофигу на чём оно будет написано ( хоть на джаве, желаю удачи ). результат будет получен через день, зато понимание того, что ты сделал останется навсегда.

а что касается велосипедов ... много Вы видели профессионалов, которые стали таковыми используя купленные велосипеды? они стали таковыми, потому что учились делать что-то, а не лазать по интернету и пытаться понять, что же за зверь такой "интернет", и где бы найти его фотографию?

SunShadow 25.07.2008 13:17

Цитата:

Сообщение от Alexander Balaganov (Сообщение 754309)
нафлудили гору а толку...

Топикстартер, поставьте себе fmis и наслаждайтесь самообразованием. В чем проблема то?

Процент полезной информации 15%) - тут я с вами согласен.
а fmis это вы имели ввиду Flash Media Server?

Не знаю как другие, а я открывал топик чтобы найти источники откуда черпать знания. Пусть Гончая бьется за правильность изложения мыслей, зато его оппонент может и неправильно объяснил но я понял то, что он пытался мне сказать. Спасибо BlooDHounD за попытку спасти меня от невежества других, но я сам невежественный поэтому легко их понимаю)
Как работает связка URLLoader + XML + PHP я понял и уже использую во всю))), а вот с сокетами думаю разберусь по рецептам) Единственное меня смущает что я нашел там описание как работать на стороне клиента, а как должно быть реализовано на стороне сервера пока не знаю. Может есть у кого ссылочки на источники по русски
В любом случае спасибо всем принявшем участие в обсуждении этой темы)

iNils 25.07.2008 13:38

Пользователь tyapichu получает плюс за сленг.

flash33 25.07.2008 13:43

Если вам нужен бесплатный сокет-сервер в сети, используйте публичные IRC, в AS3 его можно использовать "под себя" не хуже своего собственного сервака (с известными ограничениями!) Как то я написал полноценный флеш ирц клиент (тогда _etc меня вдохновил), с тех пор я не вижу никаких более демократичных возможностей использования сокетов во флеш без неободимости хостинга своего сервера в сети.
PS Почти полноценный :)

SunShadow 25.07.2008 14:07

Цитата:

Сообщение от flash33 (Сообщение 754344)
Если вам нужен бесплатный сокет-сервер в сети, используйте публичные IRC, в AS3 его можно использовать "под себя" не хуже своего собственного сервака (с известными ограничениями!) Как то я написал полноценный флеш ирц клиент (тогда _etc меня вдохновил), с тех пор я не вижу никаких более демократичных возможностей использования сокетов во флеш без неободимости хостинга своего сервера в сети.
PS Почти полноценный :)

А вы случайно не обсуждали этот проект на форуме? Нельзя познакомиться в учебных целях?


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

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