Spring 应用程序服务器到客户端通过 websocket 进行数据传输



>问题:是否可以在维持服务器的java应用程序中使用websocket在spring中从服务器发送到客户端,而无需创建另一个客户端?

互联网上几乎所有关于 websocket 的文章 在 Spring 中,都展示了如何在控制器中定义用于处理请求的方法。当他们定义一个带有 2 个注释的函数时,所有的魔术似乎都发生了 @MessageMapping("/news"(、@SendTo("/topic/news"(。仅通过这种方法,据我所知,您只能捕获请求并进一步发送它们(SendTo(。我想知道是否可以将数据从服务器发送到客户端,而无需客户端首先请求某些内容。以及该代码的外观。

你可以使用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");
}

最新更新