Websocket: что происходит с сообщениями на клиенте, если скрипт занят?

#javascript #websocket

Вопрос:

Сервер WebSocket каждую секунду отправляет клиенту новые сообщения. На клиенте есть обработчик сообщений, который обрабатывает входящие сообщения. В этом обработчике происходит некоторая обработка. Эта обработка может занять значительное время, превышающее 1-секундный интервал входящих сообщений. Обратите внимание, что сервер WebSocket является третьей стороной и не находится под моим контролем.

  1. Что происходит с полученными сообщениями, если клиентский скрипт занят предыдущим сообщением?

Мне бы хотелось, чтобы для разных потоков было разное поведение:

  1. Как я могу создать очередь, чтобы входящие сообщения не терялись, а обрабатывались, как только клиентский скрипт больше не занят?
  2. Как я могу добиться того, чтобы входящие сообщения, которые не могут быть обработаны немедленно, были отброшены? Следует обрабатывать только те сообщения, которые могут быть обработаны во время прибытия.

Спасибо