【问题标题】:ActiveMQ example which shows client-server 2 way communication?显示客户端-服务器 2 路通信的 ActiveMQ 示例?
【发布时间】:2011-02-11 22:05:36
【问题描述】:

我想编写一个与 Java 服务器通信的 Java SE 客户端应用程序。想象一下类似于在线游戏的情况,其中有大量流量并且可能有多个客户端连接到同一服务器。

  1. 客户端和服务器之间的持续通信
  2. 通信将出现故障、带外,因此双方都不知道也不期望它接下来会收到什么消息或何时收到。
  3. 服务器不知道客户端IP,无法与客户端建立通信(因为可能有NAT的方式)。所以任何开放的端口都必须从客户端启动。
  4. 实际有效负载将是序列化字节。我打算使用 Protocol Buffers 将消息编组为字节到网络上,这样传输信封也必须是轻量级的。
  5. 客户端是 Java SE,但有一天它可能是 C++。

ActiveMQ 在这里似乎是一个合适的选择,但由于我从未像这样使用过它,我不确定它是否具有性能或特性。

有人可以建议它是否合适,我可能会遇到什么陷阱,或者建议一个教程来演示类似于我正在考虑的内容?

【问题讨论】:

    标签: java activemq


    【解决方案1】:

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

    【讨论】:

    • 谢谢,你知道一个像样的代码示例吗?没什么花哨的,但是可以演示客户端到服务器的设置?
    • 您可以使用我提到的选项设置客户端连接工厂,使用以下位:ActiveMQConnectionFactory cf = new ActiveMQConnectionFactory("tcp://localhost:61616? jms.useCompression&wireFormat.tightEncodingEnabled=true");
    猜你喜欢
    • 1970-01-01
    • 2018-06-06
    • 2011-09-11
    • 2016-05-18
    • 2013-03-31
    • 2017-09-30
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    相关资源
    最近更新 更多