【发布时间】:2012-06-16 16:28:38
【问题描述】:
我为我的项目考虑技术堆栈,并考虑使用 ejabberd。该项目将看起来像经典的多用户地牢 RPG,玩家将在世界各地从一个位置移动到另一个位置(位置看起来与聊天室完全一样),他们还将在回合制模式下与 AI 和生物战斗.
我从未使用过 ejabberd,但我在使用 erlang 编写服务器应用程序方面有一些经验。
对于这种游戏来说,ejabberd 是不是有点矫枉过正?它有很多我永远不需要的功能。然而,它为 erlang 开发人员所熟知,并且非常稳定和成熟。 ejabberd 是否值得将它用作我的在线游戏的一种传输层,或者我应该更好地发明自己的轮子,一些小而简单的东西?
【问题讨论】:
-
除了将用户与聊天室/位置相关联之外,您还会使用 ejabberd 做什么?如果是这样,那么是的,这听起来确实有点矫枉过正。
-
我还会用它来聊天消息,我认为可以用它来传递有关其他玩家状态、回合细节、血量变化等的系统消息。
-
你看过
RabbitMQrabbitmq.com吗,它也用于自治服务器系统之间的实时通信。 -
我不建议将 RabbitMQ 暴露在野外。它非常适合服务之间的通信,但不适用于服务和最终用户之间的通信。