首页 > 解决方案 > 如何在我的 android 应用程序中访问我的 Spring Boot Websocket (Stomp)?

问题描述

我已经使用支持 Stomp Websocket 的 Spring boot 实现了简单的后端。它从用户那里获取消息并将其发送到特定的 url。这是spring boot中的代码。

控制器

package com.dakshverma.chattime.controller;

import com.dakshverma.chattime.model.Message;
import com.dakshverma.chattime.model.MessageResponse;
import org.springframework.messaging.handler.annotation.MessageMapping;
import org.springframework.messaging.handler.annotation.SendTo;
import org.springframework.stereotype.Controller;

import javax.websocket.server.PathParam;

@Controller
public class ChatController {

    @MessageMapping("/msg/{t}")
    @SendTo("/topic/{t}")
    public MessageResponse sendMessage(@PathParam("t") String t, Message message){
        return new MessageResponse(message.getText(), message.getUsername());
    }
}

配置

package com.dakshverma.chattime.config;

import com.dakshverma.chattime.model.Message;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;

public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry){
        registry.addEndpoint("/chatsocket").withSockJS();
        registry.addEndpoint("/chatsocket");
    }

    @Override
    public void configureMessageBroker(MessageBrokerRegistry registry){
        registry.enableSimpleBroker("/topic");
        registry.setApplicationDestinationPrefixes("/app");
    }

}

有人可以解释我如何将我的 android 应用程序连接到后端吗?

标签: javaandroidspringspring-bootwebsocket

解决方案


推荐阅读