Spring:向websocket客户端发送消息

Spring:向websocket客户端发送消息,第1张

Spring:向websocket客户端发送消息

好的,我想我明白了,对于需要它的每个人,这是答案:

首先,您需要将WS依赖项添加到pom.xml中

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-websocket</artifactId></dependency><dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-messaging</artifactId></dependency>

创建一个WS端点

@Configuration@EnableWebSocketMessageBrokerpublic class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {    @Override    public void registerStompEndpoints(StompEndpointRegistry registry) {        // the endpoint for websocket connections        registry.addEndpoint("/stomp").withSockJS();    }    @Override    public void configureMessageBroker(MessageBrokerRegistry config) {        config.enableSimpleBroker("/");        // use the /app prefix for others        config.setApplicationDestinationPrefixes("/app");    }}

注意:我使用的是STOMP,因此客户端应该这样连接

<script type="text/javascript">    $(document).ready(function() {        var messageList = $("#messages");        // defined a connection to a new socket endpoint        var socket = new SockJS('/stomp');        var stompClient = Stomp.over(socket);        stompClient.connect({ }, function(frame) { // subscribe to the /topic/message endpoint stompClient.subscribe("/room.2", function(data) {     var message = data.body;     messageList.append("<li>" + message + "</li>"); });        });    });</script>

然后,您可以简单地将ws Messenger连接到组件

@Autowiredprivate SimpMessagingTemplate webSocket;

并发送消息与

webSocket.convertAndSend(channel, new String(message.getBody()));


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5621678.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存