scala - Akka 和游戏服务器架构

标签 scala client-server akka

我正在为我的游戏创建服务器,我认为尝试 scala 和 akka 可能是个好主意。我快速阅读了文档,并产生了架构的想法。但在做任何事情之前,我想我可能会问更高级的用户我是否走的是一条好路。

基本上我的游戏服务器通过连接接收 Array[Byte]:http://backchatio.github.com/hookup/ (websocket!)来自客户端并托管一定数量的“聚会”。它应该使用 sBinary 将 Array[Byte] 解码为更多结构化数据,然后通过将结构化数据与应该发送的一方相关联来解释它们。

所以我来到了这个架构:一个主 Actor 接收 Array[Byte] (master ! arrayByte) 并将它们委托(delegate)给专门的 Actor,解码它们并将它们作为更结构化的数据发送回主控,然后当主控接收到这些结构化数据时将它们委托(delegate)给理解结构化数据并更改软件事务内存映射 [Id,Party] 中保存的相应游戏的状态的解释器工作人员,然后他将收到的订单发送回包裹在 Checked(order:Order) 中如果当事人说这是对客户的有效订单,现在可以假设他的订单是正确的,并在他自己的当事人版本中解释它。

最佳答案

也许你想看看Akka IO为您的数据包利用非阻塞 IO,以及 Akka Finite State Machine来实现你的游戏状态。

对于您想做的事情,它们可能会派上用场。

关于scala - Akka 和游戏服务器架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13513010/

相关文章:

scala - 在 SBT 项目中包含任意类路径条目

C++ [UDP] 如何跟踪服务器上所有已连接(客户端)的套接字连接?

scala - Akka 2.0.4 引入了 scala 2.9.1 和 2.9.2

android - Android 上的 Akka

java - 在 Akka 中修改了 hello world - 为什么有这么多丢失的消息和死信?

scala - 在 scala 中,将 var 传递给 "=> T"类型是否有效?

scala - 在 CHISEL 中创建查找表

scala - Scala 中的 curry 和闭包

java - 如何为基于Java RMI的通信设置各种参数?

c++ - 强制 recv (Windows C++) 函数阻塞,直到读取 N 个字节