我想知道JMS API
是如何工作的,我知道如何使用这个API但我的问题是要知道它在网络方面是如何工作的。
例如,当我的客户端订阅从服务器接收通知时,服务器如何在不向客户端发出http请求的情况下向客户端发送通知?除了我的JMS会话ID之外,JMS API是否还使用了我的IP?
拉取机制完全清楚:客户端会定期发送请求以接收新的更新,但在推送机制中,客户端会收到通知而不发送请求。
答案 0 :(得分:2)
完全取决于您使用的实际JMS实现方式。
对于大多数实现,在应用程序和JMS服务器/代理之间建立永久TCP连接,JMS服务器/代理通常在TCP之上使用自定义协议。
由于现在已经建立了TCP连接,因此数据可以双向进行,您可以将数据发送到服务器。服务器可以将数据推送到您的应用程序。
(这与例如HTTP协议不同,客户端必须从服务器请求某些内容,而在特定JMS实现上使用的自定义协议可以从任一方向发起请求/数据)