Spring WebSocket STOMP订户订购

时间:2018-07-28 15:42:37

标签: spring spring-boot websocket chat stomp

我正在尝试使用Spring和WebSockets开发聊天室应用程序。 从网上看,我发现了两个有趣的例子:

我的问题是我有一个严格的约束:所有客户端必须以相同的顺序(总顺序)查看邮件,即使同时发送也是如此。

示例:

客户1:1)A消息,2)B消息,3)C消息

Client2:1)A消息,2)B消息,3)C消息

Client3:1)消息A,2)消息B,3)C消息

例如同时发送了Msg.A和Msg.B的位置。顺序也可以是Msg.B和Msg.A。重要的因素是所有连接的客户端之间的消息视图保持一致。


从官方文档(https://docs.spring.io/spring/docs/5.0.0.BUILD-SNAPSHOT/spring-framework-reference/html/websocket.html#websocket-stomp-message-flow)中,我读到了有关WebSocket和STOMP支持的Spring发布/订阅抽象机制的信息:

  

客户端可以使用SEND或SUBSCRIBE命令发送或订阅   用于消息以及描述目标内容的“目标”标头   消息是关于的,谁应该收到它。这使得简单   可以通过以下方式发送消息的发布-订阅机制   代理到其他连接的客户端或将消息发送到   服务器请求执行一些工作。使用Spring的   支持STOMP,Spring WebSocket应用程序充当STOMP   代理客户。

我想知道订户是否以相同的顺序接收消息,或者在这种观点下是否有保证。是单独的TCP连接的抽象吗?在最后一种情况下,我是否应该实现充当票证分发程序的附加服务(以便允许客户等待序列号知识未收到的消息的到达)?

0 个答案:

没有答案