在上一篇文章中,我们创建了一个 Spring Boot + WebSocket Hello World 示例。 在这篇文章中,我们将创建一个实时多用途聊天应用程序。
在上一篇文章中,我们还看到了如何将 Spring Boot + RabbitMQ 应用程序部署到 Pivotal Cloud Foundry。我已经将我们正在创建的实时聊天应用程序托管到 Pivotal Cloud Foundry 并使用可以在 JavaInUse 聊天应用程序上查看演示。
JavaInUse 聊天应用程序演示 在本教程中,我们将使用 STOMP 协议。STOMP 是一个简单的面向文本的消息传递协议,我们的 UI 客户端(浏览器)使用它连接到企业消息代理。
客户端可以使用 SEND 或 SUBSCRIBE 命令发送或订阅消息以及描述消息内容和接收人的“destination”标头。
它定义了客户端和服务器与消息传递语义进行通信的协议。它没有定义任何实现细节,而是解决了一个易于实现的用于消息传递集成的有线协议。该协议与 HTTP 大体相似,并使用以下命令在 TCP 上运行:
您还可以将 Spring 配置为使用专用的 STOMP 代理(例如 RabbitMQ、ActiveMQ 等)来实际广播消息。在这种情况下,Spring 维护与代理的 TCP 连接,将消息中继给它,并将消息从它向下传递到连接的 WebSocket 客户端。
定义 pom.xml 如下 - 添加spring-boot-starter-websocket和spring-boot-starter-amqp依赖项。
在上一篇文章中,我们还看到了如何将 Spring Boot + RabbitMQ 应用程序部署到 Pivotal Cloud Foundry。我已经将我们正在创建的实时聊天应用程序托管到 Pivotal Cloud Foundry 并使用可以在 JavaInUse 聊天应用程序上查看演示。
JavaInUse 聊天应用程序演示 在本教程中,我们将使用 STOMP 协议。STOMP 是一个简单的面向文本的消息传递协议,我们的 UI 客户端(浏览器)使用它连接到企业消息代理。
客户端可以使用 SEND 或 SUBSCRIBE 命令发送或订阅消息以及描述消息内容和接收人的“destination”标头。
它定义了客户端和服务器与消息传递语义进行通信的协议。它没有定义任何实现细节,而是解决了一个易于实现的用于消息传递集成的有线协议。该协议与 HTTP 大体相似,并使用以下命令在 TCP 上运行:
- CONNECT
- SEND
- SUBSCRIBE
- UNSUBSCRIBE
- BEGIN
- COMMIT
- ABORT
- ACK
- NACK
- DISCONNECT
您还可以将 Spring 配置为使用专用的 STOMP 代理(例如 RabbitMQ、ActiveMQ 等)来实际广播消息。在这种情况下,Spring 维护与代理的 TCP 连接,将消息中继给它,并将消息从它向下传递到连接的 WebSocket 客户端。
视频
本教程在下面的 Youtube 视频中进行了解释。让我们开始-
创建 Spring Boot WebSocket 应用程序-
该项目将如下 -定义 pom.xml 如下 - 添加spring-boot-starter-websocket和spring-boot-starter-amqp依赖项。