Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   Java + flash - игрушка. Модель сервера. (http://www.flasher.ru/forum/showthread.php?t=190575)

searinox 26.12.2012 04:58

Java + flash - игрушка. Модель сервера.
 
Всем привет.
Кто работал с Java и Flash, можете подсказать какую лучше всего модель использовать для игрушки в которую могут играть люди онлайн?
Я поначалу хотел на java запилить EJB и пусть у меня клиент работает с бинами, но потом понял что слишком мощно и много по времени.
После я засматривался на сервлеты - пусть себе клиент работает с сервлетом и обмен данными между игроками происходит по сокету через Json.
Но мое внимание привлекла идея сделать сервер обычным консольным приложением, запускать его на сервере под каким-то портом и пусть себе клиент с ним болтает. Просто, но много велосипедов надо делать.
Что посоветуете?
И как считаете как лучше данными обмениваться? По сокету? формат AMF, Json, xml?
Кто такое уже делал подскажите плз.

caseyryan 26.12.2012 07:19

Есть у гугла уже такой велосипед, называется Protobuf.
Бинарный протокол для сериализации и десериализации данных. Можно использовать его, если уж есть желание написать свой сервер.
Но можно и готовое решение использовать.
Лучший вариант, на мой взгляд. До 1000 одновременных подключений в бесплатной лицензии.

searinox 26.12.2012 18:03

Очень интересно, спасибо. Но к сожалению не применимо так как тут полная зависимость от их серверов. А что конкретно есть по сабжу?

caseyryan 26.12.2012 23:36

Цитата:

тут полная зависимость от их серверов
От чьих серверов?

searinox 27.12.2012 01:40

union. Я же подключаюсь через их сервер, у них на сервере пишу свою бизнесс-логику. Если у них что то упадет или будут какие-то траблы то я ничего не смогу сделать. И перспектива платить 3к баксов если у меня каким-то чудом появится онлайн 1001-й клиент, тоже не радует.

caseyryan 27.12.2012 07:39

Цитата:

Я же подключаюсь через их сервер
С чего это?
Юнион - это программа написаная на джаве. Ее можно запускать на любом сервере. У меня он установлен на своем, и никакого отношения к их серверам не имеет.
А сайт tryunion.com всего лишь для тестов. Лично я им никогда не пользовался.

searinox 27.12.2012 12:59

И даже если так, ограничение в 1001 всеравно мне не по душе. Есть то по сабжу?

caseyryan 27.12.2012 21:32

По сабжу, писать свой сервер тогда. Задача не такая уж сложная, если сервер узконаправленный.
Можно конечно предложить какой-то бесплатный вариант, типа red5, но он какой-то слишком уж мудреный. И примеры на офсайте устаревшие. В общем, типичный опенсорс. Изменений происходит много, но нормально документировать это не спешат.
По поводу протокола, я бы все-таки использовал протобаф кугловский. По-моему очень хорошая система. Есть даже ас3 порт. Если делать свой, то я бы выбрал xml. Потому что данные лучше структурированы, т.е. при чтении человеком, выглядят понятнее )
Цитата:

И как считаете как лучше данными обмениваться? По сокету?
Для реалтайма конечно сокет.
Цитата:

И даже если так, ограничение в 1001 всеравно мне не по душе
Сделать грамотную монетизацию, и все окупится. В среднем, чтобы набралось такое количество одновременных клиентов, приложение должны установить 700 - 800К пользователей.

Psycho Tiger 28.12.2012 00:59

Если честно, то из Ваших слов
Цитата:

Но мое внимание привлекла идея сделать сервер обычным консольным приложением, запускать его на сервере под каким-то портом и пусть себе клиент с ним болтает.
создается впечатление, что опыта создания таких приложений у Вас нет. Потому что когда сервер это консольное приложение это настолько "обычно", насколько когда у табуретки есть ножки.
1000 одновременных коннектов – это много. Это очень много. Это успех. И я действительно Вам позавидую, если Вы столкнетесь именно с такой проблемой.
Только вот пока в формулировках у Вас взаимоисключающие параграфы.
Цитата:

Я поначалу хотел на java запилить EJB и пусть у меня клиент работает с бинами, но потом понял что слишком мощно и много по времени.
Это слишком "мощно", но 1000 коннектов – это недостаточно мощно? :)
Если у Вас нету опыта создания хай-лоад проектов – очень велика вероятность что Ваш велосипед не потянет и 500 одновременных коннектов. А caseyryan прав больше всех: 3к$/month для проекта с >1k активных ребят это совсем немного.

И что самое важное – если Ваш проект стреляет, а жаба так и давит переходить на платный тарифный план – то тут уже можно собирать команду, покупать кепку с модными буквами СЕО и писать свой сервер, терпящий хайлоад. Удачи!

searinox 28.12.2012 01:17

Господин Psycho Tiger, я уже не первый год на портале и имел честь получать Ваши ответы на свои вопросы и почему-то они всегда были какие-то негативные и с ощутимой долей издевки. Думаю гораздо больше пользы было бы если бы Вы написали что-то конструктивное, а не изливали свою злость на случайных людей потому что они не знают ответ на вопрос который задают.
caseyryan
Спасибо за советы. Думал уже выбрать AMF, а сейчас более детально посмотрю что такое Protobuf так как штука интересная вообще-то.


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

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