ActiveMQ 示例显示客户端-服务器 2 路通信?

发布于 2024-10-16 07:43:26 字数 452 浏览 3 评论 0原文

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

  1. 客户端和服务器之间的持续通信
  2. 通信将无序、带外,因此两端都不知道也不期望接下来或何时收到什么消息。
  3. 服务器不知道客户端 IP,无法建立返回客户端的通信(因为可能存在 NAT)。因此任何开放的端口都必须从客户端启动。
  4. 实际有效负载将是序列化字节。我打算使用协议缓冲区将消息编组到线路上的字节,以便传输信封也必须是轻量级的。
  5. 客户端是 Java SE,但有可能有一天它可能是 C++。

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

有人可以建议它是否合适,我可能会遇到哪些陷阱,也许可以建议一个演示与我正在考虑的内容类似的教程?

I want to write a Java SE client application that talks to a Java server. Imagine something akin to an online game where there is a lot of traffic and potentially multiple clients connected to the same server.

  1. Constant communication between client and server
  2. Communication will be out of order, out of band so neither end knows nor expects what message it might receive next or when.
  3. The server doesn't know the client IP and cannot establish comms back to the client (because there may be NAT in the way). So any open ports must be initiated from the client side.
  4. Actual payload will be serialized bytes. I intend to use Protocol Buffers to marshal messages into bytes onto the wire so that the transport envelope must be lightweight too.
  5. Client is Java SE, but potentially some day it could be C++.

ActiveMQ seems to be a suitable choice here but since I have never used it like this I am not sure if it has the performance or characteristics.

Can someone advise if it is suitable, what pitfalls I may encounter and perhaps suggest a tutorial which demonstrates something similar to what I am considering?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

血之狂魔 2024-10-23 07:43:26

是的,我强烈推荐 ActiveMQ,它快速、易于安装,可以很好地满足您的所有需求。它的严格的编码选项将真正压缩消息信封大小,它甚至支持< href="http://activemq.apache.org/connection-configuration-uri.html" rel="nofollow">'useCompression' 选项为您压缩消息正文。它还有一个很好的 C++ 客户端

Yeah, I highly recommend ActiveMQ, it's fast, easy to install, it can handle all your requirements nicely. It's tight encoding option will really compress the message envelope size and it even supports a 'useCompression' option to compress the message bodies for you. It also has a nice C++ client

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文