Spring boot websocket + реакция -> не получать сообщения от бэкэндаJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Spring boot websocket + реакция -> не получать сообщения от бэкэнда

Сообщение Anonymous »

Я использую реакцию/машинопись в качестве внешнего интерфейса и Springboot в качестве внутреннего интерфейса.
Мое приложение может подключаться к серверной части через веб-сокет, также может подписаться на канал, а также может отправлять сообщения из внешнего интерфейса в серверную часть, но Сторона внешнего интерфейса. Я не вижу никаких сообщений из серверной части. Я проверил, что сообщения отправляются из серверной части во внешний интерфейс, но на стороне внешнего интерфейса я не вижу никаких обновлений.
Можете как-нибудь помочь мне, где у меня ошибка?Большое спасибо.
@EnableAsync
@Controller
public class WebSocketController {
private final SimpMessagingTemplate messagingTemplate;
public WebSocketController(SimpMessagingTemplate messagingTemplate) {
this.messagingTemplate = messagingTemplate;
}
@MessageMapping("/start-counting/{userId}")
@SendToUser("/queue/update")
public void startCounting(@DestinationVariable String userId) {
System.out.println("Start counting...");
processCountingAsync(userId);
}
@Async
public void processCountingAsync(String userId) {
for (int i = 1; i {
const [client, setClient] = useState(null);
const [count, setCount] = useState(null);
const jwtToken = useStore((state: any) => state.jwtToken)
useEffect(() => {
const newClient = new Client({
brokerURL: 'ws://localhost:8310/webrde/ws',
reconnectDelay: 5000,
debug: function (str) {
console.log('STOMP Debug:', str);
},
});
newClient.onConnect = () => {
console.log('Connected to WS');
newClient.subscribe('/user/queue/update', (message) => {
console.log('Received message:', message.body);
const data = JSON.parse(message.body);
setCount(data.count);
}, {id: jwtToken});
};
newClient.activate();
setClient(newClient);
return () => {
newClient.deactivate();
};
}, []);
const startCounting = () => {
if (client) {
client.publish({
destination: `/webrde/start-counting/${jwtToken}`,
body: '',
});
}
};
return (

Start Counting
Counting: {count !== null ? count : 'Not started'}

);
};
export default WebSocketComponent;

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
registry.enableSimpleBroker("/queue", "/topic");
registry.setApplicationDestinationPrefixes("/webrde");
registry.setUserDestinationPrefix("/user");
}

@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/ws").setAllowedOrigins("http://localhost:3011");
}
}


Подробнее здесь: https://stackoverflow.com/questions/785 ... om-backend
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»