如何仅从服务器向特定用户发送websocket消息?
我的webapp具有spring安全设置,并使用websocket。我在尝试仅从服务器向特定用户发送消息时遇到棘手的问题。
通过阅读手册,我的理解是来自我们可以做的服务器
simpMessagingTemplate.convertAndSend("/user/{username}/reply", reply);
在客户端:
stompClient.subscribe('/user/reply', handler);
但是我永远无法调用订阅回调。我尝试了许多不同的方法,但是没有运气。
如果我将其发送到/ topic / reply,它可以工作,但所有其他已连接的用户也将收到它。
为了说明问题,我在github上创建了这个小项目:https : //github.com/gerrytan/wsproblem
重现步骤:
1)克隆并构建项目(确保您使用的是jdk 1.7和maven 3.1)
$ git clone https://github.com/gerrytan/wsproblem.git
$ cd wsproblem
$ mvn jetty:run
2)导航到http://localhost:8080
,使用bob / test或jim / test登录
3)单击“请求用户特定的味精”。预期:仅此用户的“仅收到我的消息”旁边会显示一条消息“ hello {username}”,实际:未收到任何消息