![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Oct 2013
Сообщений: 5
|
Всем привет. Я студент(по этому прошу сразу строго не судить) решил по-развиваться в области flash - казуалочки. В мыслях уже бродил идеи на тему карточной игры с элементами стратегии, но это только мысли а так я начал просто с заходи и регистрации)) и как и предполагал тут же столкнулся с кучей проблем, некоторые из них даже немного озвучены на форуме, но я все равно их задам, вдруг кто-нибудь скажет что-нибудь новое.
1 первый вопрос, собственно, адекватно ли создавать AS3/PHP/MySQL связку для игры, прочитал много статеек, предлагают воснавном именно этот вариант. 2 начал реализовывать эту связку и первое что попалось на глаза - я не могу отслеживать кто на данный момент онлайн. те я создал табличку в которой при входе выставляется 1 ка зашедшему. но как адекватно отследить выход человека я не смог придумать, а есть еще ситуация просто разрыва соединения. 3 для работы с базой использовал одного пользователя, но при первых же тестах с 2х киентов, возникли коллизии, что под каждое соединение не запускается своя сессия и вываливаются охибка о количестве возможных подключений. прошу дать советы либо по этим вопросам, либо объяснить начинающему как правильно. хотелось бы что бы хотя-бы начало было адекватное, а костылей и великов я еще насоздаю потом, уже в логике игры. |
|
|||||
|
1. Вполне можно. Нормальный вариант для начала и обучения.
2. Гуглите "сокет-сервер". На php вполне можно написать простейший сервер. Опять же для начала и обучения. Для более развитых серверов подойдет ява или c++. Но принципы одни. 3. Опять же гугл спасет. Для соединения с базой данных вы в любом случае будет использовать одного пользователя. Если имеется ввиду именно пользователь базы данных. А уже внутри базы можно организовать список игроков с данными об их регистрациях.
__________________
interplanety |
|
|||||
|
Для игры, в которой в реальном времени должен отслеживаться статус игрока (онлайн), то эта связка не совсем адекватна. Нужно использовать сокеты, а php и сокеты - это извращение. В качестве базы данных MySQL вполне хороший вариант, но вот сервер лучше написать на Java, C++ или другом языке в котором сокеты реализованы нормально.
Есть конечно такая штука как long-polling для длительного ожидания ответа от сервера, но это тоже костыльный вариант по сравнению с сокетами. Рекомендую сначала взять готовый сервер, типа Node.js или http://www.unionplatform.com/ |
|
|||||
|
Регистрация: Oct 2013
Сообщений: 5
|
Спасибо, в итоге решил что буду писать сокеты на Java(сегодня развлекался написал чатик с клиентом на as и сервером java). Ключевым, наверное, стало то, что php не может сам инициировать сообщение, а только отвечает. а это крайне не удобно. Теперь стоит вопрос в хостинге(локально не удобно тк пишу в разных местах) на эту тему ничего не посоветуете(понятно дело хочется бесплатно или подешевле, а так как я только буду писать а на нем тестить нагрузка будет не велика)? Ну или возможно видели где книжку или статью описывающую архитектуру данных приложений(желательно на русском)
На тему бд, как посмотреть максимальное количество подключений от одного пользователя, и как если что поменять? Добавлено через 42 часа 30 минут Продвигаясь в изучении возникают новые вопросы. По результатам просмотра новых статей решил, что клиентский проэкт надо разделить на несколько swf. одна например хранит графику, другая функционал, а основная чисто интерфейс. но способов реализации там вызова фии из смежной свифки или подгрузки графики я не нашел. прошу помочь. Последний раз редактировалось Lemyr; 23.10.2013 в 15:04. |
|
|||||
|
пхп вообще не может ни на что ответить после того как страница загружена так как "он уж отработал" до этого и страница = результат его работы (частично)
Писать сокеты на java самому это преступление, возьмите готовый сервак, а лучше откройте сразу red5 для себя (он бесплатный, может с БД напрямую коннектится и кучу-кучу всего, + Spring со всеми вытекающими) PS Он кроссплатформенный, для первой игрушки - то что доктор прописал: все умеет, синтаксис почти такой же как в AS (я про java) |
|
|||||
|
Цитата:
IMHO, преступлением это назвать сложно, но вот научиться чему-то в процессе написания своего сокет-сервера точно можно, готовые решения этих знаний не дадут. |
|
|||||
|
Цитата:
|
|
|||||
|
Регистрация: Oct 2013
Сообщений: 5
|
Честно, не люблю пользоваться чужими вещами(хотя понимаю что это не правильно и что надо учится пользоваться чужими качественно сделанными наработками), но как говорил один мой преподаватель "мне проще написать свой эксель чем научится работать в этом". К тому же мне нравится делать обработки событий и сообщений на сервере(может, конечно, потому что ничего сложней сетевых больших крестиков ноликов не делал)
В итоге я решил сделать так: Сервер на Java\сокеты(пишется но пока на уровне чатика))) - отвечает за динамические события(битва и тп) и выполняет в основном инсерты в базу, PHP - будет выдавать статические данные(типа хелпашника) и клиент на AS3. Правда вопрос с базой остается. Как настроить MySQL так чтобы один пользователь мог конектиться несколько раз одновременно? |
|
|||||
|
Берите Node.js. Если есть желание поучиться чуть больше, но получая удовольствие в будущем – добавьте CofeeScript.
Цитата:
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Oct 2013
Сообщений: 5
|
а есть портабл дропбокс? просто частично я разрабатываю на работе когда заказов нет, и ставить на раб комп ничего незя(точнее прав нет)
|
![]() |
![]() |
Часовой пояс GMT +4, время: 00:22. |
|
|
« Предыдущая тема | Следующая тема » |
|
|