Должен ли я написать свой собственный flash-сервер на Erlang или использовать Red5?
Я студент, собирающийся начать свой экзаменационный проект, где я буду отвечать за реализацию серверной онлайн-игры, ориентированной на флэш-плеер. Мне трудно решить, стоит ли мне писать свой собственный легкий сервер на Erlang или использовать Red5 с открытым исходным кодом.
Мой опыт показывает, что java-разработчики, как правило, слишком усложняют ситуацию, затрудняя работу с API, верно ли это для Red5? И как это работает под большой нагрузкой, которая идет с синхронизацией игры?
Может быть, с моим собственным сервером Erlang будет легче работать и распространяться на нескольких машинах?
Итак, вопрос в том, должен ли я написать свой собственный флеш-сервер Erlang или использовать существующий Red5?
Изменить: я думаю, что мне нужно решить, каковы мои цели: просто настроить онлайн-игру или узнать, как реализовать многопользовательский сервер с нуля.
4 ответа
Я бы сказал, используйте Red5, если у вас все в порядке с программированием на Java - может показаться тривиальным реализовать собственный сервер, но я предполагаю, что вы, вероятно, обнаружите, что есть еще кое-что, чем вы думаете сейчас.
Однако, если вы хотите программировать на эрланге и думаете, что вам будет весело развить свой собственный сервер, во что бы то ни стало сделайте это!
Это также зависит от цели вашего проекта - должны ли вы продемонстрировать, что можете запустить онлайн-игру (перейдите на Red5), или вам нужно продемонстрировать, что вы можете программировать распределенный многопользовательский игровой сервер? (зайдите на свой собственный проект в Erlang)
Кстати: я использую http://www.smartfoxserver.com/ для одного из моих текущих проектов
Я думаю, вам нужно оценить для себя усилия по внедрению собственного, легковесного сервера. Часто собственные требования невелики и специфичны, и реализация сервера, отвечающего им, - это путь.
Также проверьте Blaze DS (сервер флэш-памяти Java) и Juggernaut (сервер флэш-памяти ruby). Я думаю, что, возможно, Джаггернаут предназначен для определенных целей, помимо вашего, но я не уверен.
Зачем изобретать велосипед? Один только AMF - это сложный зверь для реализации, просто взгляните на документы для базовых вещей, таких как целочисленное кодирование... Если вам не нужны возможности потоковой передачи и AMF - это все, что вам нужно, вы также можете использовать PyAMF (Python) или AMFPHP. Кроме того, вы, вероятно, будете оцениваться тем, как вы играете в конце, а не тем, насколько умно вы повторно внедрили AMF.
Если вы зайдете на http://www.stripclubcity.com/ или, в частности, на http://www.stripclubcity.com/new-jersey-strip-clubs они используют Red5 для потоковой передачи своих камер. Мне кажется, я прочитал, что использовать Red5 намного проще, чем писать свой собственный AMF... Зачем изобретать велосипед?