spring - 在 spring 中使用 websockets,如何发送多个更新消息?
问题描述
在此处给出的示例中https://spring.io/guides/gs/messaging-stomp-websocket/,一个接收数据,然后一秒钟后返回另一个数据结构。如果(例如)服务器正在处理数据,我将如何修改它以发送多个数据元素?
@SendTo("/topic/greetings")
public Greeting greeting(HelloMessage message) throws Exception {
// I would like to send initial data here
Thread.sleep(1000); // simulated delay
return new Greeting("Hello, " + HtmlUtils.htmlEscape(message.getName()) + "!");
// I would like to send more data here (after a bit more server side processing)
}```
解决方案
(在科特林)。啊..这不起作用-它将它发送给所有客户
@Controller
public class GreetingController() {
var template: SimpMessagingTemplate? = null
@Autowired
constructor(_template: SimpMessagingTemplate) : this() {
this.template = _template
}
@MessageMapping("/hello")
fun greet(greeting: String) {
repeat(5) { i ->
this.template!!.convertAndSend("/topic/greetings", Greeting("Iteration $i"));
Thread.sleep(1000)
}
}
}
推荐阅读
- c# - C# - 如何在 MVC 中使用新参数重新加载页面
- sql - 带回 Null/Zero 的简单数学公式
- javascript - 如何在notificationclick上将数据从服务工作者传递给客户端
- python - 在 Python 中的另一个 SQL 查询中使用一个 SQL 查询的输出
- c# - 如何单独拖动 SelectedItem 附近的列表框项
- c# - 从 C# 库触发事件到 VB Winform 程序
- mesos - chronos 不是集中式调度程序吗?
- javascript - 设置为 null 后标题仍然显示
- git-checkout - 在 git mv 之后,未跟踪的工作树文件上的 Git 签出失败
- r - 在这种情况下应该避免附加吗?