Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在考虑使用 XMPP 或 JMS 作为在软件代理之间交换消息的传输。(我正在使用 JADE 代理系统。)
我需要解决的主要问题是能够从/向可能位于防火墙后面的代理发送或传递消息。是否有任何理由认为 XMPP 或 JMS 更胜一筹?
我们确实通过防火墙进行了一些 JMS 通信。防火墙的设置取决于您的 JMS 提供商,因为 JMS 不是“有线协议”而是 API。可能存在难以通过防火墙管理的 JMS 实现。我们使用了 JBOSS MQ 和 SonicMQ,发现它非常没有问题:两者都只需要打开一小部分端口。
您应该跟踪的一个问题是没有消息流量时的行为:只要没有发送消息,大多数实现就不会交换网络数据,大多数防火墙确实在连接上有一些超时。这可能会导致连接被防火墙丢弃。我们在这里使用的解决方法是偶尔重新创建连接。