Флеш браузерная игра - HTTP + PHP против Socket + Что-то еще - PullRequest
1 голос
/ 16 февраля 2011

Я разрабатываю браузерную RPG-игру не в реальном времени (думаю, Королевство ненависти ), в которую можно было бы играть из приложения Flash.Сначала я просто хотел установить связь с сервером, используя просто URLLoader, чтобы сообщить PHP, что я делаю, и используя $ _SESSION для хранения данных, необходимых между запросами.

Интересно, не будет ли это лучше?основывать его на сокетном соединении, приложении, находящемся на сервере, написанном на Java или Python.Проблема в том, что я никогда не писал такого приложения, поэтому я понятия не имею, насколько мне пришлось бы «переключать» свои мысли с простого ответа на запрос (например, PHP) на постоянно работающее приложение.Я не буду скрывать, что меня также беспокоит использование памяти и ЦП такого серверного приложения, когда, например, подключаются сотни пользователей.Я провел какое-то исследование.

Я пытался провести какое-то исследование, но благодаря моим нулевым знаниям по теме сокетов я не нашел ничего полезного.Итак, учитывая тот факт, что мне не нужен обмен данными в режиме реального времени, будет ли целесообразно разрабатывать серверную часть как сокет-сервер, а не в виде простого старого PHP?

1 Ответ

1 голос
/ 16 февраля 2011

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

Если вы хотите использовать сервер в режиме реального времениПри установке, вы можете рассмотреть возможность использования чего-то вроде Electroserver - это абстрагирует большую часть настроек для вас, так что вам не нужно писать свой собственный сервер с нуля, плюс это бесплатно до определенного числа одновременных пользователей, если я правильно помню.

Наконец, третий вариант, который у вас есть, это модифицированный подход POST с использованием AMF.Посмотрите на AMFPHP, он позволяет вам вызывать методы на PHP-стороне непосредственно из вашего приложения Flash.Немного быстрее и проще, чем простое использование POST, но не так легко, как соединение через сокет или специально созданный игровой сервер.

Множество вариантов, кажется, вы знаете об этом и славаза попытку придумать лучший подход, а не просто кататься с тем, что вы знаете!Я надеюсь, что это поможет, дайте мне знать, если у вас есть какие-либо вопросы.

Вот ссылка на Electroserver - http://www.electro -server.com /

...