1

最近我看到了许多在 erlang 中具有 web 界面和后端的项目(例如 fb 上的 flash 游戏或类似的)。

我想知道可以实现类似的东西(也许更简单)。

我相信他们有一个 erlang 应用程序来提供身份验证,另一个提供到实际游戏的路由。但是,他们如何为每个不同的用户启动一个新的游戏应用程序实例?也许他们创建一个新节点并在那里启动应用程序?你能给我一些见解吗?

4

1 回答 1

3

使用Actor 模型,您可以为每个连接的播放器创建一个进程,该进程对来自 Flash 客户端的消息做出反应,将消息直接发送到其他播放器进程或处理全局状态的中央进程。这个播放器进程也会对来自其他播放器的消息做出反应,并将更新发送回客户端。

然后,您可以根据这个想法构建您的系统架构。也许你有多个处理游戏不同部分的中央进程。也许你让玩家被分成不同的“房间”,每个房间都有自己的流程。也许你有一个玩家进程,即使玩家断开连接,它仍然处于活动状态,或者你只是排队消息并在玩家返回时对它们做出反应。当然,架构很大程度上取决于您正在构建的游戏类型。

于 2012-07-11T16:19:19.407 回答