Рассчитать размер пакета для RCON?

Привет!

С помощью mbr-rcon, я могу отправлять команды и получать результат, используя следующий код (для простоты я опустил часть создания соединения):

      command = "list";

rconclient.send(command, {
    onSuccess: function(response){},
            
    onError: function(error){
        console.log(error);
    }
});

Есть одна проблема, если я попытаюсь отправить действительно длинную команду (1400 символов), она не удастся. Поэтому я подумал, что, может быть, было бы неплохо придумать функцию для ограничения размера символа, верно? Но вот загвоздка: согласно спецификации RCON, максимальный размер пакета составляет 4096 байт. Даже если я ограничу вывод до 4096B, он все равно не сработает на уровне 1400ish. Это почему? Даже если мой ввод - это 100% текст ASCII, он терпит неудачу и делает библиотеку onClose();запускается метод (который используется при разрыве соединения). У многих библиотек, которые я пробовал, есть похожая проблема.

Какие-нибудь советы друзьям?

1 ответ

Я думаю, вы столкнулись с проблемой, о которой сообщили другие пользователи: https://github.com/MadBrozzeR/rcon/issues/3

У вас есть несколько вариантов:

  1. Погрузитесь в код и исправьте основную проблему самостоятельно. Я готов поспорить, что mbr-rcon не очищает свои буферы правильно.
  2. Использовать другую библиотеку
  3. Найдите сопровождающего библиотеки и убедите его исправить это за вас.
Другие вопросы по тегам