Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

345
Vistas
Cómo conectar Spring Boot STOMP con SockJS

Servidor:

 // SocketBrokerConfig.java @Configuration @EnableWebSocketMessageBroker class SocketBrokerConfig : WebSocketMessageBrokerConfigurer { override fun configureMessageBroker(registry: MessageBrokerRegistry) { registry.enableSimpleBroker( LoginController.RESPONSE, ) registry.setApplicationDestinationPrefixes("/server") registry.setUserDestinationPrefix("/player") } override fun registerStompEndpoints(registry: StompEndpointRegistry) { registry.addEndpoint(LoginController.URI).setAllowedOrigins("http://localhost:3000").withSockJS() } } @Controller class LoginController( private val msgTemplate: SimpMessagingTemplate, ) { @MessageMapping("/server/login") fun handle( @Payload request: LoginRequest, @Header("simpSessionId") sessionId: String, ) { println("LoginController : $sessionId") msgTemplate.convertAndSend("/player/login", LoginResponse("TEST")) } } data class LoginRequest( val username: String, ) data class LoginResponse( val token: String, )

Cliente del navegador:

 import SockJS from "sockjs-client"; import {Stomp} from "@stomp/stompjs"; const socket = new SockJS('http://localhost:8080/server/login'); const stompClient = Stomp.over(socket); stompClient.connect({}, () => { let url = stompClient.ws._transport.url; console.log({url}); url = url.replace( "ws://localhost:8080/server/login/", ""); url = url.replace("/websocket", ""); url = url.replace(/^[0-9]+\//, ""); console.log("Your current session is: " + url); stompClient.subscribe('login', (msg) => { console.log({msg}); }) stompClient.send('/server/login', {}, JSON.stringify({ username: 'TEST' })) stompClient.send('server/login', {}, JSON.stringify({ username: 'TEST' })) stompClient.send('/login', {}, JSON.stringify({ username: 'TEST' })) stompClient.send('login', {}, JSON.stringify({ username: 'TEST' })) })

Y la salida de la consola: ingrese la descripción de la imagen aquí

Pero no hay respuesta del servidor, y tampoco hay nada en la consola del servidor (hay println en el controlador)

Es mi primera vez con Stomp, Spring Boot Websockets y SockJS Entiendo cómo funciona TCP, pero no entiendo qué regla estoy rompiendo aquí que esto no funciona :(

Por favor ayuda

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda