QOS - это не просто параметр в опубликованном сообщении, он также является частью подписки.
QOS одновременно охватывает только одну часть передачи сообщения. например, только между издателем и брокером, а не полностью до клиента. Если вы хотите обеспечить гарантированную доставку клиенту, вам также необходимо подписаться на QOS, значение которого больше 0.
Опция qos
в вашем options
объекте будет игнорироваться.
Также выследует посмотреть, почему ваш клиент продолжает отключаться первым. Я вижу, что у вас жестко закодированный клиент, как правило, это не очень хорошая идея, поскольку клиенты должны быть глобально уникальными для всех клиентов, подключенных к брокеру. Если второй клиент пытается подключиться к брокеру с клиентом уже подключенного клиента, он отключит первый клиент. Если у вас включено автоматическое переподключение, то это приведет к тому, что оба клиента будут сражаться и отталкивать друг друга от брокера, что похоже на проблему, которую вы описали.