[Приложение] мой MjDM (Android)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 899 раз

Re: [Приложение] мой MjDM (Android)

Сообщение SmoKE_xDDD » Вт янв 21, 2020 6:33 pm

hc2hunter писал(а):
Вт янв 21, 2020 5:17 pm
Вопросы и предложения:
Как должна себя вести программа при попадании в зону обозначенной WiFi точки? Просто тупо спрыгивать на этот сервер?
Как следствие второй вопрос - как должна себя вести программа, если пользователь возьмет и поменяет потом сервер на другой? Ну вот вдруг ему что-то понадобилось посмотреть и он ушел с сервера, на который его принудительно скинули. Нужно остаться на этом сервере или опять принудительно спрыгнуть назад при следующем сканировании эфира (Android это делает примерно раз в пару минут, как повезет)?
Можно попробовать расширить функционал, добавив сюда поле с альтернативным адресом сервера. Скажем, если вы попали в зону точки, которая локальна с самим сервером - пусть и ходит на него по указанному (локальному) адресу?
3 вариант перекрывает первые два, было бы хорошо если так...
По поводу 2 - если после перевода на другой сервер юзвер выбирает другой, то больше ничего не делаем до последующего запуска приложения....
1. Да
За это сообщение автора SmoKE_xDDD поблагодарил:
hc2hunter (Вт янв 21, 2020 8:10 pm)
Рейтинг: 1.16%
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Ср янв 22, 2020 12:42 pm

Ну, думаю, можно попробовать...
Не исключено, что пока будет работать странно под некоторыми ревизиями Android Q (там как обычно есть нюансы). Тестировал на 5, 8, 8.1, 9
картинкоПоказать
ssid.png
ssid.png (87.47 КБ) 3061 просмотр


SmoKE_xDDD писал(а):
Вт янв 21, 2020 6:33 pm
По поводу 2 - если после перевода на другой сервер юзвер выбирает другой, то больше ничего не делаем до последующего запуска приложения....
Тут скорее смысл не в перезапуске приложения, а в смене точки на другую. Если операционка сообщит, что точка доступа сменилась и окажется, что в одном из серверов она забита - программа перепрыгнет на этот сервер.
Никто никуда не прыгает, если точка доступа не меняется (или если WiFi ни с чем не ассоциирован) . Это основной критерий.

И да, - сам факт смены точки не всегда происходит мгновенно. Иногда это несколько секунд, иногда минута. Тут я взаимосвязи не уловил, но сам Android кидает статусные сообщения в операционную среду, когда ему в голову взбредёт...
Безусловно - перезапуск приложения принудительно провернет все операции, но в большинстве случаев это не требуется.


И еще. Альтернативный адрес - конечно, штука очень удобная. Теперь можно прописать себе туда локалку и дома не тратить лишний трафик (ну или как минимум не ходить на внешний интерфейс своего роутера). Однако, следует учесть такой факт, что при переходе по локальному адресу браузер уже от него просто так не отцепится. При потере WiFi соединения как минимум придется нажать кнопку "Домой", чтобы страница поперла по основной ссылке.
Если это будет надоедать - могу попробовать повесить wifi-сторож. Будет спрыгивать на основной адрес самостоятельно. Но нужно попробовать, может это и лишнее окажется...
Последний раз редактировалось hc2hunter Ср янв 22, 2020 3:54 pm, всего редактировалось 1 раз.
За это сообщение автора hc2hunter поблагодарил:
SmoKE_xDDD (Ср янв 22, 2020 2:45 pm)
Рейтинг: 1.16%
Аватара пользователя
Nail
Сообщения: 376
Зарегистрирован: Пн мар 05, 2018 7:09 am
Откуда: Самара
Благодарил (а): 174 раза
Поблагодарили: 28 раз

Re: [Приложение] мой MjDM (Android)

Сообщение Nail » Ср янв 22, 2020 2:15 pm

hc2hunter писал(а):
Ср янв 22, 2020 12:42 pm

И еще. Альтернативный адрес - конечно, штука очень удобная. Теперь можно прописать себе туда локалку и дома не тратить лишний трафик (ну или как минимум не ходить на внешний интерфейс своего роутера). Однако, следует учесть такой факт, что при переходе по локальному адресу браузер уже от него просто так не отцепится. При потере WiFi соединения как минимум придется нажать кнопку "Домой", чтобы страница поперла по основной ссылке.
Если это будет надоедать - могу попробовать повесить wifi-сторож. Будет спрыгивать на основной адрес самостоятельно. Но нужно попробовать, может это и лишнее окажется...
Да не плохо было бы локалку)
Mini AMD A6 1450 Quad-core.Ubuntu Server 18.04 (64-bit). MegaD. Zigbee2mqtt+SLS DIN Mini. Broadlink.
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 899 раз

Re: [Приложение] мой MjDM (Android)

Сообщение SmoKE_xDDD » Ср янв 22, 2020 2:45 pm

hc2hunter писал(а):
Ср янв 22, 2020 12:42 pm
И еще. Альтернативный адрес - конечно, штука очень удобная. Теперь можно прописать себе туда локалку и дома не тратить лишний трафик (ну или как минимум не ходить на внешний интерфейс своего роутера). Однако, следует учесть такой факт, что при переходе по локальному адресу браузер уже от него просто так не отцепится. При потере WiFi соединения как минимум придется нажать кнопку "Домой", чтобы страница поперла по основной ссылке.
Если это будет надоедать - могу попробовать повесить wifi-сторож. Будет спрыгивать на основной адрес самостоятельно. Но нужно попробовать, может это и лишнее окажется...
Мой любимый пинг этого адреса?)
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 899 раз

Re: [Приложение] мой MjDM (Android)

Сообщение SmoKE_xDDD » Ср янв 22, 2020 2:48 pm

А можно еще галку добавить: Использовать этот сервер, если не поключен к вайфай или неудалось определить
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Ср янв 22, 2020 2:55 pm

Пока вы тестируете, я уже начал слегка переписывать эти обвязки, т.к. не нравится мне как это Андроид делает...
Попробую написать свой "сторож", который следит за состоянием wifi и текущей точкой.

Пингов там никаких нет. Я так и не понял - зачем они? :)
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 899 раз

Re: [Приложение] мой MjDM (Android)

Сообщение SmoKE_xDDD » Ср янв 22, 2020 3:49 pm

hc2hunter писал(а):
Ср янв 22, 2020 2:55 pm
Пока вы тестируете, я уже начал слегка переписывать эти обвязки, т.к. не нравится мне как это Андроид делает...
Попробую написать свой "сторож", который следит за состоянием wifi и текущей точкой.

Пингов там никаких нет. Я так и не понял - зачем они? :)
что при переходе по локальному адресу браузер уже от него просто так не отцепится. При потере WiFi соединения как минимум придется нажать кнопку "Домой"
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Ср янв 22, 2020 3:53 pm

Вроде вот так поинтереснее работает. И реакция на смену состояния WiFi куда быстрее.
SmoKE_xDDD писал(а):
Ср янв 22, 2020 2:48 pm
А можно еще галку добавить: Использовать этот сервер, если не подключен к вайфай или не удалось определить
А так ли оно надо? В случае отвала WiFi текущий сервер вернется назад на основной адрес.
Вложения
app-release.zip
(2.03 МБ) 161 скачивание
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Ср янв 22, 2020 4:17 pm

SmoKE_xDDD писал(а):
Ср янв 22, 2020 3:49 pm
что при переходе по локальному адресу браузер уже от него просто так не отцепится. При потере WiFi соединения как минимум придется нажать кнопку "Домой"
понимаете... ping это своего рода "костыль", который в большинстве случаев ничего не дает кроме гарантированного прохождения пакетов на указанный адрес.
Безусловно, иногда он применим, когда ничего толком нельзя сказать об узле назначения или нет возможности определиться с состоянием сетевого соединения. Но опираться на него в нашем случае более чем бесперспективно. Кроме того это сильно засоряет трафик и зря напрягает аппарат.

...мы же не "пингалку" сетевую пишем :) Здесь есть на что опереться кроме пингов.
А вы предлагаете опереться на стандартную подсеть класса "C", которая как .0.0 по-дефолту настроена в 80% роутеров и как .1.0 в оставшихся 20%. Можно налететь, на кучу косяков потом... Либо надо разбирать адрес сервера, который указывает пользователь и писать дичайшую обвязку логики, чтобы пинговать именно то что нам надо, а не "кидаться камнями слону в задницу в двух метров".
А еще есть такое понятие как DNS. Почему вы думаете, что все используют прямую адресацию? У продвинутых админов наверняка даже дома стоит примитивный DNS-резолвер, который возвращает нужный адрес (локальный или глобальный) в зависимости от того, с какой стороны к нему постучаться.
...ну у меня, наконец, так сделано. ибо так проще живется и не надо ни о чем заботиться :?


Лучше давайте вернемся к сути вопроса - выполняет ли сейчас приложение то что подразумевалось в работе с WiFi ?

------

И еще один момент забыл упомянуть.
в Android начиная с 8.0 для получения доступа к именам WiFi точек доступа помимо специального разрешения должна быть включена опция "Местоположение" в Настройках операционки (в англ. версии Location).
Так вот, под 8.0/8.1/9.0 я написал костыль, основанный на дырках в системе, и все работает и без этого. И будет работать. А вот под 10-ку, увы, никак... они это починили и совсем запретили. И я это отразил даже отдельным предупреждением:
Буфер обмена01.png
Буфер обмена01.png (66.13 КБ) 2991 просмотр
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 899 раз

Re: [Приложение] мой MjDM (Android)

Сообщение SmoKE_xDDD » Ср янв 22, 2020 4:32 pm

hc2hunter писал(а):
Ср янв 22, 2020 4:17 pm
Лучше давайте вернемся к сути вопроса - выполняет ли сейчас приложение то что подразумевалось в работе с WiFi ?

------

И еще один момент забыл упомянуть.
в Android начиная с 8.0 для получения доступа к именам WiFi точек доступа помимо специального разрешения должна быть включена опция "Местоположение" в Настройках операционки (в англ. версии Location).
Так вот, под 8.0/8.1 и 9.0 я написал костыль, основанный на дырках в системе, и все работает и без этого. А вот под 10-ку, увы, никак... они это починили и совсем запретили. И я это отразил даже отдельным предупреждением:
Буфер обмена01.png
Samsung S10 - не работает. Все настроено, но сервер не меняется...
СпойлерПоказать
Изображение Изображение Изображение
За это сообщение автора SmoKE_xDDD поблагодарил:
hc2hunter (Ср янв 22, 2020 5:15 pm)
Рейтинг: 1.16%
Ответить