Рассчитать размер пакета для 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
У вас есть несколько вариантов:
- Погрузитесь в код и исправьте основную проблему самостоятельно. Я готов поспорить, что
mbr-rcon
не очищает свои буферы правильно. - Использовать другую библиотеку
- Найдите сопровождающего библиотеки и убедите его исправить это за вас.