<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: API Java monitor-traffic]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме API Java monitor-traffic форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 16 Aug 2026 12:20:00 -0400</pubDate>
		<item>
			<title>API Java monitor-traffic</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424932">API Java monitor-traffic</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Слушатель отлично работает для информирования о новых активных пользователях, но когда кто-то выходит из системы, слушатель этого не распознает. Есть идеи, как с этим справиться? Ах, значит, нужно ещё и обнаруживать выход из системы… Тогда попробуй команду «/ip/hotspot/user/active/listen» без аргументов. Она должна показывать не только момент входа пользователя в хотспот, но и выход — как явный, так и из-за истечения сессии. Выход пользователя можно отличить по свойству «.dead», которое будет установлено в «yes», когда пользователь уже неактивен.<br /><br />В общем, нужно ДОБАВЛЯТЬ пользователя, изменять данные пользователя, показывать текущих зарегистрированных пользователей и информировать, кто активен (исходя из текущего списка пользователей). Но… все пользователей хотспота можно получить командой «/ip/hotspot/user/print», а всех активных — с помощью (синхронной) «/ip/hotspot/user/active/print». Нет смысла смотреть в базу данных, которая теоретически может не совпадать с состоянием роутера.<br /><br />Есть простой способ избежать обращения к базе и при удалении пользователей (чтобы управление было менее подвержено ошибкам). При создании пользователя хотспота сразу создавай скрипт расписания, который будет его удалять, и запускай этот скрипт, когда гость уходит, а в конце сам скрипт удаляй. Так, даже если база данных упадёт, единственная проблема — новые пользователи хотспота не смогут добавляться (легко), а текущие будут работать и завершат сеанс как обычно.<br /><br />Если гость из отеля решит продлить время — просто измени время работы скрипта расписания (предварительно назвав его по имени пользователя хотспота, чтобы легко его найти) — и всё будет готово. <br />
			<i>11.07.2014 08:15:00, boen_robot.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424932</link>
			<guid>http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424932</guid>
			<pubDate>Fri, 11 Jul 2014 08:15:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>API Java monitor-traffic</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424931">API Java monitor-traffic</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Давай начнём с самого начала. На самом деле я использую свой Mikrotik как хотспот в семейном отеле. Мы заключили договор с одним поставщиком хотспота, который установил Mikrotik и начал каждый месяц с нас брать плату. Когда я понял, что этот поставщик «продаёт» только программное обеспечение на базе API для управления Mikrotik, я решил поискать бесплатные программы. Я нашёл несколько, например mk user manager, но все они — полноценные решения, ориентированные на интернет-провайдеров. Поэтому я решил разработать своё собственное ПО для управления пользователями. По сути оно должно добавлять пользователя, менять данные пользователя, показывать текущих зарегистрированных пользователей и информировать, кто сейчас активен (на основе списка текущих пользователей). Второй шаг — реализовать дату окончания доступа, чтобы автоматически удалять пользователя.<br /><br />Отвечая на твой вопрос: я запускаю ip/hotspot/user/print и сохраняю результат в базе данных, команда ADD добавляет пользователя и в Mikrotik, и в базу. Теперь мне нужно сравнивать, кто активен, опираясь на мою базу пользователей. Слушатель (listener) отлично работает и выдает новых активных пользователей, но когда кто-то выходит из системы, слушатель это не фиксирует. Есть у тебя какие-то советы, как с этим справиться? Спасибо! <br />
			<i>11.07.2014 00:19:00, hugojammal.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424931</link>
			<guid>http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424931</guid>
			<pubDate>Fri, 11 Jul 2014 00:19:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>API Java monitor-traffic</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424930">API Java monitor-traffic</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Куда вставлено? В любом случае… внутри слушателя вы получите нового вошедшего пользователя, и сможете найти его среди «вставленных пользователей». <br />
			<i>10.07.2014 16:04:00, boen_robot.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424930</link>
			<guid>http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424930</guid>
			<pubDate>Thu, 10 Jul 2014 16:04:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>API Java monitor-traffic</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424929">API Java monitor-traffic</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			@boen_robot Мы понимаем друг друга, я постараюсь. Потому что для меня это немного запутанно. На самом деле API возвращает более согласованный Java-объект, чем !re от mikrotik. Я хочу сравнить список активных пользователей с введёнными пользователями. <br />
			<i>10.07.2014 15:53:00, hugojammal.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424929</link>
			<guid>http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424929</guid>
			<pubDate>Thu, 10 Jul 2014 15:53:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>API Java monitor-traffic</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424928">API Java monitor-traffic</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			@hugojammal Чтобы удостовериться, что мы понимаем друг друга… Это не API-клиент LeGrange… Этот вот — другой. Если нужно запускать команду с постоянным выполнением, смотри пример асинхронных команд. В частности, чтобы отслеживать новых пользователей при их входе, можно использовать команду «print» с аргументом «follow». Тогда, как только кто-то войдёт, ты сразу получишь новый !re-ответ. Команда никогда сама по себе не завершится. <br />
			<i>10.07.2014 10:58:00, boen_robot.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424928</link>
			<guid>http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424928</guid>
			<pubDate>Thu, 10 Jul 2014 10:58:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>API Java monitor-traffic</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424927">API Java monitor-traffic</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Legrand. Спасибо за вашу поддержку. Я пытаюсь внедрить ваш responselistener, чтобы отслеживать текущих активных пользователей hotspot. Исходя из вашего примера 5, я успешно использовал команды MONITOR в Mikrotik. Вы не знаете способа постоянно отслеживать активных пользователей hotspot, как это делает responselistener? Простое решение — сделать «бесконечный» цикл, который выполняет con.execute(“/ip/hotspot/active/print”), но я уверен, что есть более умный способ сделать это. <br />
			<i>10.07.2014 01:45:00, hugojammal.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424927</link>
			<guid>http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424927</guid>
			<pubDate>Thu, 10 Jul 2014 01:45:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>API Java monitor-traffic</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424926">API Java monitor-traffic</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			API не возвращает одну строку. Оно возвращает список, содержащий словари с отдельными результатами. Так что если у вас два пользователя, то запрос /ip/hotspot/user/print вернёт List&lt;Map&lt;String, String&gt;&gt;, содержащий два словаря, по одному на каждого пользователя. Отдельные атрибуты каждого пользователя доступны через методы доступа конкретного экземпляра словаря. Если вам нужны данные в виде Java-объектов, вам нужно самостоятельно создать эти объекты, извлечь данные из словарей для конкретных результатов и записать эти данные в свои объекты. Всё это вы делаете по своему усмотрению. <br />
			<i>30.06.2014 10:34:00, legrang.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424926</link>
			<guid>http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424926</guid>
			<pubDate>Mon, 30 Jun 2014 10:34:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>API Java monitor-traffic</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424925">API Java monitor-traffic</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет, Legrand. Твой API для JAVA работает отлично, поздравляю. Я разрабатываю JAVA-приложение для управления пользователями в Mikrotik. Когда я, например, выполняю (/ip/hotspot/user/print), твой API возвращает одну строку со всей информацией о пользователях. Хочу получить эту строку и сделать из неё java-объекты с соответствующими атрибутами. Можешь помочь? <br />
			<i>29.06.2014 20:24:00, hugojammal.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424925</link>
			<guid>http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424925</guid>
			<pubDate>Sun, 29 Jun 2014 20:24:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>API Java monitor-traffic</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424924">API Java monitor-traffic</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет! Кто-нибудь может показать, как с помощью /interface/monitor-traffic =interface=ether3-master-local вывести данные? Я смотрю в Wiki, но не понимаю. Хочу получить rx-bits-per-second и tx-bits-per-second. <br />
			<i>13.05.2014 12:53:00, kaplunalex.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424924</link>
			<guid>http://mikrotik.moscow/forum/forum57/88246-api-java-monitor_traffic/message424924</guid>
			<pubDate>Tue, 13 May 2014 12:53:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
