2011-02-09 92 views
2

我想写一个与Java服务器交谈的Java SE客户端应用程序。想象一下类似于在线游戏的情况,其中有大量的流量和潜在的多个客户端连接到同一台服务器。客户端和服务器之间显示客户端 - 服务器双向通信的ActiveMQ示例?

  1. 恒通信
  2. 沟通会失灵,带外的这样既不知道到底也没有什么期待消息时,它可能会收到一个或下时。
  3. 服务器不知道客户端IP,无法建立通信回到客户端(因为可能有NAT)。所以任何开放的端口都必须从客户端发起。
  4. 实际有效负载将被序列化字节。我打算使用Protocol Buffers将消息封送到网络上,以便传输信封也必须是轻量级的。
  5. 客户端是Java SE,但可能有一天它可能是C++。

ActiveMQ似乎是一个合适的选择,但因为我从来没有像这样使用它,所以我不确定它是否具有性能或特性。

有人可以建议,如果它是合适的,我可能遇到什么陷阱,也许建议一个教程,它展示了类似于我正在考虑的东西?

回答

5

呀,我强烈推荐ActiveMQ,它的快速,易于安装,它可以处理您的所有需求很好。这是tight encoding option将真正压缩邮件信封大小,它甚至支持一个'useCompression'选项为您压缩邮件正文。它也有一个不错的C++ client

+0

谢谢,你知道一个体面的代码示例。没有什么奇特的,但是展示了客户端到服务器设置的东西? – locka 2011-02-12 21:25:30