• Jobs
  • About Us
  • Jobs
    • Home
    • Jobs
    • Courses and challenges
  • Businesses
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

262
Views
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

over 3 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.

Andres GPT

Show me some job opportunities
There's an error!