#android #snmp
#Android #snmp
Вопрос:
Я хотел бы знать, поддерживается ли SNMP в Android (2.1)?
Если он недоступен, возможно ли перенести источник snmp для Android?(пожалуйста, несколько указаний ..)
Если он доступен, как я могу проверить его наличие на моем устройстве.
Все указатели приветствуются.
Спасибо,
Сен
Ответ №1:
SNMP4J 2.x можно напрямую использовать на Android без изменения его источников. Ведение журнала можно настроить на простой консольный регистратор, вызвав
static {
LogFactory.setLogFactory(new ConsoleLogFactory());
ConsoleLogAdapter.setDebugEnabled(true);
}
в вашей корневой активности. Конечно, вы также можете реализовать Android Logging Adapter и зарегистрировать его, как показано выше.
Ответ №2:
Я знаю, что это действительно старый вопрос, но я делал именно то, что вы просите. Короткий ответ — нет, по умолчанию SNMP не поддерживается на Android 2.1. Поскольку он недоступен, в итоге я взял исходный код snmp4j, вставил его в Android и создал свою собственную библиотеку. Есть библиотеки (на ум приходит snmp4android), но я обнаружил, что в ней не хватает определенных классов, которые мне были нужны, и не было всей ветки snmp4j.agent.
В Android отсутствует несколько зависимостей и библиотек, но большинство из них относятся к классу log4j.
Чтобы исправить это, просто преобразуйте / переключите на что-то вроде slf4j, представляющее собой небольшую библиотеку ведения журнала, которую вы можете включить в свое приложение.
Я надеюсь, что это отвечает на некоторые из ваших первоначальных вопросов, и я надеюсь, что это все еще актуально, даже если это старый вопрос.
Комментарии:
1. Спасибо, Otra. Не могли бы вы, пожалуйста, дать мне обзор того, как вы сделали, чтобы snmp работал на Android? Это будет действительно полезно и благодарно, если вы готовы поделиться.
2. Честно говоря, все, что я в итоге сделал, это загрузил исходный код snmp4j и преобразовал все протоколирования (которые, я полагаю, были единственным, что вызывало у меня проблемы) в slf4j. Ведение журнала могло работать не так хорошо после преобразования, но меня это не сильно беспокоило, я все еще тестирую все функции, но я смог создать агента и клиента на Android, просто выполнив это.
3. @Otra — Выполняли ли вы какую-либо работу с ловушками, используя порт SNMP4J для Android? Я сделал что-то подобное, и запросы / ответы, похоже, работают без проблем, но я получаю нарушение EACCES при попытке запустить экземпляр Snmp для прослушивания ловушек.