2014-01-29 40 views
0

我想弄清楚JMS API是如何工作的,我知道如何使用这个API,但我的问题是要知道它如何在网络方面工作。JMS API的工作原理

例如,当我的客户端订阅接收来自服务器的通知时,服务器如何向客户端发送通知而不发送客户端的http请求?除了我的JMS会话ID之外,JMS API是否使用了我的IP?

拉机制是完全清楚的:客户端将周期性地发送请求以接收新的更新,但是在推送机制中,客户端接收通知而不发送请求。

回答

2

完全取决于您使用的实际JMS实现方式。

在大多数实现中,应用程序与JMS服务器/代理之间建立了永久TCP连接,该连接通常在TCP之上使用自定义协议。

由于现在建立了TCP连接,数据可以双向传输,您可以将数据发送到服务器。服务器可以将数据推送到您的应用程序。

(这是从例如HTTP协议,其中客户端必须从服务器请求不同的东西,而在一个特定的JMS实现中使用的可发起请求的自定义协议/从任一方向的数据)

+0

非常感谢:) – user2075227