【发布时间】:2020-03-02 22:37:27
【问题描述】:
我正在开发一个聊天模块,其后端是 Java,前端是 Angular。聊天过程是这样的:
- 连接到 stomp 客户端
- 订阅频道网址,例如:
queue/user-{userId} - 使用
stompclient->send('savemessage', {}, message)将消息保存到服务器 - 服务器发送确认,该消息已保存
- 我从代理通道向用户发送消息,例如
stompclient->send('queue/user-{toUserId}', {}, message) -
toUserId如果在频道中使用queue/user-{toUserId}订阅,那么他会收到消息。 当toUserId连接并仅订阅一次时,它工作正常。问题来了,当我打开另一个连接并在不同的浏览器或移动应用程序中订阅toUserId时。
问题是:
userId 发送一次消息,但toUserId 收到的消息是打开的 2 个连接/订阅的 2 倍。
以前有没有人遇到过这种情况?
以下是截图:
【问题讨论】:
-
我也有同样的问题。你找到解决办法了吗?