Информация
Настройка
Новости
Контакты
Новинка
Распродажа
Оплата
Доставка
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    API Java monitor-traffic

    API Java monitor-traffic

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    API Java monitor-traffic, RouterOS
     
    kaplunalex
    Guest
    #1
    0
    13.05.2014 12:53:00
    Привет! Кто-нибудь может показать, как с помощью /interface/monitor-traffic =interface=ether3-master-local вывести данные? Я смотрю в Wiki, но не понимаю. Хочу получить rx-bits-per-second и tx-bits-per-second.
     
     
     
    hugojammal
    Guest
    #2
    0
    29.06.2014 20:24:00
    Привет, Legrand. Твой API для JAVA работает отлично, поздравляю. Я разрабатываю JAVA-приложение для управления пользователями в Mikrotik. Когда я, например, выполняю (/ip/hotspot/user/print), твой API возвращает одну строку со всей информацией о пользователях. Хочу получить эту строку и сделать из неё java-объекты с соответствующими атрибутами. Можешь помочь?
     
     
     
    legrang
    Guest
    #3
    0
    30.06.2014 10:34:00
    API не возвращает одну строку. Оно возвращает список, содержащий словари с отдельными результатами. Так что если у вас два пользователя, то запрос /ip/hotspot/user/print вернёт List<Map<String, String>>, содержащий два словаря, по одному на каждого пользователя. Отдельные атрибуты каждого пользователя доступны через методы доступа конкретного экземпляра словаря. Если вам нужны данные в виде Java-объектов, вам нужно самостоятельно создать эти объекты, извлечь данные из словарей для конкретных результатов и записать эти данные в свои объекты. Всё это вы делаете по своему усмотрению.
     
     
     
    hugojammal
    Guest
    #4
    0
    10.07.2014 01:45:00
    Legrand. Спасибо за вашу поддержку. Я пытаюсь внедрить ваш responselistener, чтобы отслеживать текущих активных пользователей hotspot. Исходя из вашего примера 5, я успешно использовал команды MONITOR в Mikrotik. Вы не знаете способа постоянно отслеживать активных пользователей hotspot, как это делает responselistener? Простое решение — сделать «бесконечный» цикл, который выполняет con.execute(“/ip/hotspot/active/print”), но я уверен, что есть более умный способ сделать это.
     
     
     
    boen_robot
    Guest
    #5
    0
    10.07.2014 10:58:00
    @hugojammal Чтобы удостовериться, что мы понимаем друг друга… Это не API-клиент LeGrange… Этот вот — другой. Если нужно запускать команду с постоянным выполнением, смотри пример асинхронных команд. В частности, чтобы отслеживать новых пользователей при их входе, можно использовать команду «print» с аргументом «follow». Тогда, как только кто-то войдёт, ты сразу получишь новый !re-ответ. Команда никогда сама по себе не завершится.
     
     
     
    hugojammal
    Guest
    #6
    0
    10.07.2014 15:53:00
    @boen_robot Мы понимаем друг друга, я постараюсь. Потому что для меня это немного запутанно. На самом деле API возвращает более согласованный Java-объект, чем !re от mikrotik. Я хочу сравнить список активных пользователей с введёнными пользователями.
     
     
     
    boen_robot
    Guest
    #7
    0
    10.07.2014 16:04:00
    Куда вставлено? В любом случае… внутри слушателя вы получите нового вошедшего пользователя, и сможете найти его среди «вставленных пользователей».
     
     
     
    hugojammal
    Guest
    #8
    0
    11.07.2014 00:19:00
    Давай начнём с самого начала. На самом деле я использую свой Mikrotik как хотспот в семейном отеле. Мы заключили договор с одним поставщиком хотспота, который установил Mikrotik и начал каждый месяц с нас брать плату. Когда я понял, что этот поставщик «продаёт» только программное обеспечение на базе API для управления Mikrotik, я решил поискать бесплатные программы. Я нашёл несколько, например mk user manager, но все они — полноценные решения, ориентированные на интернет-провайдеров. Поэтому я решил разработать своё собственное ПО для управления пользователями. По сути оно должно добавлять пользователя, менять данные пользователя, показывать текущих зарегистрированных пользователей и информировать, кто сейчас активен (на основе списка текущих пользователей). Второй шаг — реализовать дату окончания доступа, чтобы автоматически удалять пользователя.

    Отвечая на твой вопрос: я запускаю ip/hotspot/user/print и сохраняю результат в базе данных, команда ADD добавляет пользователя и в Mikrotik, и в базу. Теперь мне нужно сравнивать, кто активен, опираясь на мою базу пользователей. Слушатель (listener) отлично работает и выдает новых активных пользователей, но когда кто-то выходит из системы, слушатель это не фиксирует. Есть у тебя какие-то советы, как с этим справиться? Спасибо!
     
     
     
    boen_robot
    Guest
    #9
    0
    11.07.2014 08:15:00
    Слушатель отлично работает для информирования о новых активных пользователях, но когда кто-то выходит из системы, слушатель этого не распознает. Есть идеи, как с этим справиться? Ах, значит, нужно ещё и обнаруживать выход из системы… Тогда попробуй команду «/ip/hotspot/user/active/listen» без аргументов. Она должна показывать не только момент входа пользователя в хотспот, но и выход — как явный, так и из-за истечения сессии. Выход пользователя можно отличить по свойству «.dead», которое будет установлено в «yes», когда пользователь уже неактивен.

    В общем, нужно ДОБАВЛЯТЬ пользователя, изменять данные пользователя, показывать текущих зарегистрированных пользователей и информировать, кто активен (исходя из текущего списка пользователей). Но… все пользователей хотспота можно получить командой «/ip/hotspot/user/print», а всех активных — с помощью (синхронной) «/ip/hotspot/user/active/print». Нет смысла смотреть в базу данных, которая теоретически может не совпадать с состоянием роутера.

    Есть простой способ избежать обращения к базе и при удалении пользователей (чтобы управление было менее подвержено ошибкам). При создании пользователя хотспота сразу создавай скрипт расписания, который будет его удалять, и запускай этот скрипт, когда гость уходит, а в конце сам скрипт удаляй. Так, даже если база данных упадёт, единственная проблема — новые пользователи хотспота не смогут добавляться (легко), а текущие будут работать и завершат сеанс как обычно.

    Если гость из отеля решит продлить время — просто измени время работы скрипта расписания (предварительно назвав его по имени пользователя хотспота, чтобы легко его найти) — и всё будет готово.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры