为了账号安全,请及时绑定邮箱和手机立即绑定

Spring应用服务器通过websocket向客户端传输数据

Spring应用服务器通过websocket向客户端传输数据

LEATH 2023-06-08 14:39:21
问题:是否可以在支持服务器的 java 应用程序中使用 websocket 将数据从服务器发送到客户端,而无需创建另一个客户端?网上几乎每一篇关于 websocket in spring 的文章,都展示了如何在控制器中定义你的方法来处理请求。当他们用 @MessageMapping("/news") 和 @SendTo("/topic/news") 这两个注释定义一个函数时,所有的魔法似乎都会发生。据我所知,单独使用此方法只能捕获请求并进一步发送它们 (SendTo)。我想知道是否可以将数据从服务器发送到客户端而无需客户端首先请求某些东西。以及该代码的样子。
查看完整描述

1 回答

?
四季花海

TA贡献1811条经验 获得超5个赞

你可以使用 SimpMessagingTemplate 。


我认为你应该在某个地方上这门课


 @Configuration

 @EnableWebSocketMessageBroker

 public class "yournameclass" extends AbstractWebSocketMessageBrokerConfigurer

然后这个方法里面


@Override

public void configureMessageBroker(MessageBrokerRegistry configuration) {

    configuration.enableSimpleBroker("/test");

    configuration.setApplicationDestinationPrefixes("/someprefix"); 

}

然后你可以从你的代码中的某个方法调用它


@Autowired

private SimpMessagingTemplate template;



public void "mymethodsender" ()

{  this.template.convertAndSend("/test/somepathwhereyouregisteredyourclienttoreceivemessages", "messageobject");

}


查看完整回答
反对 回复 2023-06-08
  • 1 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信