Java Web套接字与JMS或Activemq

Java Web套接字与JMS或Activemq,java,jakarta-ee,websocket,jms,activemq,Java,Jakarta Ee,Websocket,Jms,Activemq,我想知道JavaWebSocket和JMS(或ActiveMq)之间的区别是什么?请让我知道或有任何来源有任何比较WebSocket和JMS,在哪里使用WebSocket和不使用,在哪里使用Activemq而不是WebSocket请。Activemq是JMS的一个实现。Activemq可能使用Web套接字。如果使用web套接字而不是Activemq来传输消息(具有任何类型的数据),该怎么办?这可能取决于应用程序的类型和需求,无论多么普遍,为了便于我决定使用什么,请让我听听您的想法(我想在两个we

我想知道JavaWebSocket和JMS(或ActiveMq)之间的区别是什么?请让我知道或有任何来源有任何比较WebSocket和JMS,在哪里使用WebSocket和不使用,在哪里使用Activemq而不是WebSocket请。Activemq是JMS的一个实现。Activemq可能使用Web套接字。如果使用web套接字而不是Activemq来传输消息(具有任何类型的数据),该怎么办?这可能取决于应用程序的类型和需求,无论多么普遍,为了便于我决定使用什么,请让我听听您的想法(我想在两个web应用程序之间传递消息,简单、快速、轻量级)


投票关闭的人:请考虑帮助,至少让一些人获得帮助、知识而不是逃避

Web套接字是一种在Web浏览器和Web服务器之间提供双向套接字样式接口的方法,服务器能够推送信息,而不仅仅是响应浏览器HTTP“拉”请求。从你的问题和澄清看来,这不是你所需要的

但是,普通套接字是在应用程序之间提供同步通信的好方法。如果接收消息的应用程序能够在消息发送后立即同步处理它们,那么常规套接字可能是一个很好的解决方案

消息队列用于异步通信—在这种情况下,消息在发送后可能需要存储一段时间,然后收件人才能接收消息并对其执行操作。由于需要存储,消息队列需要一个单独的服务器来存储消息,或者在某些情况下需要一个数据库服务器(如果已经有)


普通插座简单、快捷、轻便;消息队列并不是真正意义上的队列,因为它们需要设置一个单独的服务器。但是,如果您需要异步消息传递,可能没有真正简单、快速和轻量级的解决方案,因此消息队列可能是下一个最好的解决方案。

“Web应用程序”通常指在Web服务器上运行的应用程序。WebSocket实际上只适用于涉及浏览器的情况。除非“web应用程序”是指“浏览器应用程序”?@WarrenDew。感谢您的关注。我的应用程序是基于web的,不涉及浏览器。所有通信都是在服务器上运行的web应用程序之间进行的。根本没有浏览器。您的意思是,套接字仅在浏览器(网页、jsp、html、js)与服务器web应用程序通信时使用?如果是这样,web套接字就不能用于我的需求。我对他们了解不多。在我开始之前,我正在观察各种可能性。再次感谢你的回答。我也读过关于ActiveMq的文章。现在,您的答案清楚地说明了web sockets、JSM以及普通套接字。是的,我想知道普通套接字与JMS的区别。