tcp - 多人游戏开发中的 ZeroMQ

标签 tcp udp zeromq

我想开发一款多人游戏,其中
1.有n个客户端,一台服务器
2.客户端应该能够向服务器发送有或没有响应的消息
3. 服务器应该能够向客户端发送有响应或无响应的消息

感觉TCP和UDP都会很慢。我遇到了 ZeroMQ,它似乎开销更少并且比 TCP 和 UDP 更快。建议在这里使用 ZeroMQ 吗?什么是优点和缺点?

最佳答案

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

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

关于tcp - 多人游戏开发中的 ZeroMQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18516288/

相关文章:

sockets - 捕获 UDP 流数据

传递给 `msgpack_pack_int()` 宏的计数器变量不递增

zeromq - 处理 ZeroMQ 中丢失的事务/数据?

c++ - 套接字配置中的 TCP 重传

.net - wcf tcp async streamed 是可能的吗?

连接被拒绝 TCP 套接字

python - ZMQ 中的 HTTP 服务器或如何使用 pyzmq 处理 POST 请求?

c - 套接字 UDP TCP C

c++ - 系统等待/接收数据时 UDP 网络卡住

c - UDP客户端没有bind()接收不到数据