Stompclient / SockJs-通过1-1代理通道多次接收消息

时间:2019-11-06 12:31:11

标签: websocket stomp sockjs

我正在开发一个聊天模块,其后端是Java,前端是Angular。聊天过程如下:

  1. 连接至踩踏客户端
  2. 订阅频道网址,例如:queue/user-{userId}
  3. 使用stompclient->send('savemessage', {}, message)将邮件保存到服务器
  4. 服务器发送确认,该消息已保存
  5. 我从经纪人渠道向用户发送消息,例如stompclient->send('queue/user-{toUserId}', {}, message)
  6. 如果toUserId在频道中使用queue/user-{toUserId}进行了订阅,那么他会收到消息。 仅连接toUserId并订阅一次时,它工作正常。当我打开另一个连接并在不同的浏览器或移动应用程序中订阅toUserId时,问题就来了。

问题是: userId仅发送一次消息,但是toUserId收到的消息是打开的2个连接/订阅的2倍。 有人早些经历过这种情况吗?

以下是屏幕截图:

  1. 接收消息: Receiving message
  2. 发送消息: Send message

0 个答案:

没有答案