Пишу чат на вебсокетах. Использую sockjs.js и stomp.js. Соединение проходит успешно, сабскрайб на рассылку тоже. Но при попытке отправить на бекенд сообщение (для рассылки всем присоеденившимся к чатику) на нужный контролллер ничего не приходит, хотя в консоль либа пишет что данные отправила:
>>> SEND
destination:/app/app-dest-prefix/chat
content-length:76
{"from":"Lesha","text":"[[[[[[[[","timeCreation":"2017-10-12T15:26:29.410Z"}
так я присоединяюсь
stompClient = Stomp.over(new SockJS("/ContactBook/app/cbxSoc"));
так сабскрайблюсь:
stompClient.subscribe('/topic/messages', function (message) {
console.log(message);
});
так я отправляю сообщение:
stompClient.send("/app-dest-prefix/chat", {}, JSON.stringify({'from':'Lesha', 'text':$scope.chatInput, 'timeCreation':new Date()})
такой у меня контроллер
@Controller
public class ChatController {
@MessageMapping("/chat")
@SendTo("/topic/messages")
public Message send(Message message){
String time = new SimpleDateFormat("HH:mm").format(new Date());
message.setTimeCreation(time);
return message;
}
}
такая конфигурация:
@Configuration
@EnableWebSocketMessageBroker
public class CbxSocketConfig extends AbstractWebSocketMessageBrokerConfigurer{
@Override
public void registerStompEndpoints(StompEndpointRegistry ser) {
ser.addEndpoint("/cbxSoc").withSockJS();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
// Prefix for messages FROM client TO server
config.setApplicationDestinationPrefixes("/app-dest-prefix");
// Prefix for messages FROM server TO client
config.enableSimpleBroker("/events", "/topic", "/queue");
config.setUserDestinationPrefix("/user");
}
}
Подскажите, кто в курсе, где я ошибся. Спасибо. Такое ощущение, что урл не верный указал, но судя по документации всё правильно...
UPD Может кто-то знает как отхендлить вообще всё. что приходит от клиента (не только по определённому пути, который указана в @MessageMapping("/chat"))?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Добрый деньВозникла проблема
Хочу реализовать комнаты чата, и допустим, в комнате 5 и кто-то в комнату 5 пишет, то сгенерировать событие и переслать всем пользователям комнатыТо-есть...