невозможно удалить из очереди предыдущие сообщения из очереди - PullRequest
0 голосов
/ 11 января 2019

Я создаю приложение для чата с android и spring, используя stomp over websocket. когда я отправляю более одного сообщения конкретному клиенту, он показывает только последнее сообщение из очереди, а не все предыдущие сообщения. Я хочу видеть все сообщения будут из очереди.

Клиентская сторона :

mStompClient =Stomp.over(WebSocket.class, "url");
    mStompClient.connect();


    mStompClient.topic("/topic/queue"+clientid).subscribe(topicMessage -> {


        textView.setText(topicMessage.getPayload());

    });

Серверная часть :

@MessageMapping("/chat")
@SendTo("/topic/queue")

 public String sendMessage(String msg) {


    simpMessagingTemplate.convertAndSend("/topic/queue"+clientid,msg );

    return "";
}

1 Ответ

0 голосов
/ 13 января 2019

На мой взгляд, вы должны сохранить данные, которые были отправлены ранее, а затем добавить новые входящие сообщения из очереди и асинхронно хранить данные фида.

  1. Шаг: пользователь открывает окна чата, затем получает данные из базы данных.
  2. Шаг: отправьте сообщение в очередь, и потребители должны прослушать очередь и отправить новое сообщение в окно чата и хранилище данных.
  3. Шаг: если пользователь выходит из приложения, что бы ни случилось. Вы можете представить данные из хранилища данных.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...