【发布时间】:2011-02-11 22:05:36
【问题描述】:
我想编写一个与 Java 服务器通信的 Java SE 客户端应用程序。想象一下类似于在线游戏的情况,其中有大量流量并且可能有多个客户端连接到同一服务器。
- 客户端和服务器之间的持续通信
- 通信将出现故障、带外,因此双方都不知道也不期望它接下来会收到什么消息或何时收到。
- 服务器不知道客户端IP,无法与客户端建立通信(因为可能有NAT的方式)。所以任何开放的端口都必须从客户端启动。
- 实际有效负载将是序列化字节。我打算使用 Protocol Buffers 将消息编组为字节到网络上,这样传输信封也必须是轻量级的。
- 客户端是 Java SE,但有一天它可能是 C++。
ActiveMQ 在这里似乎是一个合适的选择,但由于我从未像这样使用过它,我不确定它是否具有性能或特性。
有人可以建议它是否合适,我可能会遇到什么陷阱,或者建议一个教程来演示类似于我正在考虑的内容?
【问题讨论】: