Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Websocket Stompclient/SockJs-通过1-1代理通道多次接收消息_Websocket_Stomp_Sockjs - Fatal编程技术网

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

Websocket Stompclient/SockJs-通过1-1代理通道多次接收消息,websocket,stomp,sockjs,Websocket,Stomp,Sockjs,我正在开发一个聊天模块,其后端是Java,前端是Angular。聊天过程如下所示: 连接到stomp客户端 订阅频道url,例如:queue/user-{userId} 使用stompclient->send('savemessage',{},message) 服务器发送确认,该消息被保存 我从代理通道向用户发送消息,例如,stompclient->send('queue/user-{tuserid}',{},message) tuserid如果在通道中使用queue/user-{tuserid

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

  • 连接到stomp客户端
  • 订阅频道url,例如:
    queue/user-{userId}
  • 使用
    stompclient->send('savemessage',{},message)
  • 服务器发送确认,该消息被保存
  • 我从代理通道向用户发送消息,例如,
    stompclient->send('queue/user-{tuserid}',{},message)
  • tuserid
    如果在通道中使用
    queue/user-{tuserid}
    订阅,则他将收到消息。 当
    toUserId
    仅连接并订阅一次时,它工作正常。当我打开另一个连接并在不同的浏览器或移动应用程序中订阅
    toUserId
    时,问题就来了 问题是: userId发送消息一次,但是
    toUserId
    收到的消息是打开的2个连接/订阅的2倍。 有人之前经历过这种情况吗

    以下是截图:

  • 接收信息:
  • 发送消息:

  • 我也有同样的问题。你找到解决办法了吗?