2

我是一名学生,即将开始我的考试项目,我将负责针对 Flash 播放器的在线游戏的服务器实现。我很难决定是应该用 Erlang 编写自己的轻量级服务器还是使用开源 Red5。

我的经验是,Java 开发人员倾向于过度复杂化使 API 难以使用的事情,这对 Red5 来说是真的吗?它在同步游戏带来的繁重负载下表现如何?

也许我自己的 Erlang 服务器会更容易在多台机器上使用和分发?

所以问题是我应该编写自己的 Erlang 闪存服务器还是使用现有的 Red5?

编辑:我想我需要决定我的目标是什么:只是建立一个在线游戏或学习如何从头开始实现多用户服务器。

4

4 回答 4

3

我认为您需要自己估算实现自己的轻量级服务器的工作量。通常,自己的需求很小且很具体,实现满足它们的服务器是可行的方法。

还可以查看 Blaze DS(Java 闪存服务器)和 Juggernaut(Ruby 闪存服务器)。我认为也许主宰的目标是特定用途,超出你的范围,但我不确定。

于 2008-12-17T13:01:59.797 回答
3

如果你对 Java 编程没问题,我会说使用 Red5 - 实现你自己的服务器可能感觉微不足道,但我猜你可能会发现它有比你现在想的更多的东西。

然而,如果你想用 erlang 编程并认为开发自己的服务器会很有趣,那就去吧!

这也取决于您项目的目标——您是否必须证明您可以进行在线游戏(选择 Red5),或者您是否必须证明您可以编写分布式多用户游戏服务器?(去你自己用 Erlang 编程的项目)

顺便说一句:我正在将http://www.smartfoxserver.com/用于我当前的一个项目

于 2008-12-17T13:52:30.270 回答
1

为什么要重新发明轮子?单独的 AMF 是一个复杂的实现,只需查看文档以了解整数编码等基本内容......如果您不需要流功能并且 AMF 就是您想要的,您也可以使用 PyAMF (Python) 或AMFPHP。此外,您可能会根据游戏最终的运行方式来评分,而不是根据您重新实现 AMF 的聪明程度。

于 2008-12-17T14:14:33.130 回答
0

如果您访问http://www.stripclubcity.com/或更具体地说是http://www.stripclubcity.com/new-jersey-strip-clubs,他们正在使用 Red5 流式传输他们的摄像头。我想我读到使用 Red5 比编写自己的 AMF 容易得多……为什么要重新发明轮子?

于 2009-01-31T08:56:44.600 回答