我是一名即将开始我的考试项目的学生,我将负责针对Flash播放器的在线游戏的服务器实施。 我很难决定是应该在Erlang中编写自己的轻量级服务器还是使用开源Red5。
我的经验是,java开发人员倾向于过度复杂化使API难以使用的东西,这对Red5来说是否正确?它是如何在同步游戏的重负荷下执行的?
也许我自己的Erlang服务器更容易在多台机器上使用和分发?
所以问题是我应该编写自己的Erlang Flash服务器还是使用现有的Red5?
编辑:我想我需要决定我的目标是什么:只是建立一个在线游戏或学习如何从头开始实施多用户服务器。
答案 0 :(得分:3)
我认为您需要自己估算实现自己的轻量级服务器的工作量。通常,自己的要求很小且具体,并且实现满足它们的服务器是可行的方法。
还可以查看Blaze DS(Java Flash服务器)和Juggernaut(ruby flash服务器)。我想也许Juggernaut的目标是特定用途,超出你的目标,但我不确定。
答案 1 :(得分:3)
我会说使用Red5如果你对java编程没问题 - 实现你自己的服务器可能会觉得微不足道但我猜你可能会发现它还有一些比你现在想的更多的东西
但是,如果你想在erlang中编程,并认为通过各种方式开发自己的服务器会有很多乐趣!
还取决于您项目的目标 - 您是否必须证明您可以进行在线游戏(转到Red5),或者您是否必须证明您可以对分布式多用户游戏服务器进行编程? (在Erlang中为自己的项目编程)
BTW:我正在使用http://www.smartfoxserver.com/作为我当前的一个项目
答案 2 :(得分:1)
为什么重新发明轮子?单独使用AMF是一个复杂的野兽实现,只需查看整数编码等基本内容的文档...如果你不需要流媒体功能和AMF就是你想要的,你也可以使用PyAMF(Python)或者AMFPHP。此外,你最终可能会对游戏的工作方式进行评分,而不是你重新实施AMF的聪明程度。
答案 3 :(得分:0)
如果您转到http://www.stripclubcity.com/或更具体地http://www.stripclubcity.com/new-jersey-strip-clubs,他们正在使用Red5来传输他们的摄像头。我想我读到使用Red5要比编写自己的AMF容易得多......为什么要重新发明轮子?