ZeroMQ在多人游戏开发中的应用

时间:2013-08-29 16:27:50

标签: tcp udp zeromq

我想开发一款多人游戏 1.有n个客户和1个服务器 2.客户端应该能够在有或没有响应的情况下向服务器发送消息 3.服务器应该能够在有或没有响应的情况下向客户端发送消息

我觉得TCP和UDP都会很慢。我遇到了ZeroMQ,它似乎有更少的开销,并且比TCP和UDP更快。在这里使用ZeroMQ是否明智?什么是利弊?

1 个答案:

答案 0 :(得分:4)

ZeroMq可能非常适合您的需求。目标应用程序是游戏意味着您可以为了性能而牺牲可靠性。以下是其中一些原因:

  • ZeroMQ不是基于JMS或基于MQ的,因此没有集中式代理可以减慢速度。
  • 断开连接/重新连接由ZeroMQ库自动处理,使您无需编写代码来处理同伴下线和重新上线。
  • 如果接收对等方处于脱机状态,消息将以缓冲区存储转发方式自动排队。
  • ZeroMq套接字类型(PUB,SUB,REQ,REP,PUSH,PULL)提供了方便的方法,可以毫不费力地在您的应用程序中启用常见的消息传递范例。
  • 根据您列出的要求,可以轻松处理同步和异步消息传递,您可以找到演示examples目录中几乎所有套接字组合的示例。