Смена настроек подключения 3G / Local
Друзья, всем доброго дня ! Подскажите пожалуйста , возможно ли организовать смену подключения сети в автоматическом режиме?
В данный момент в моем проекте есть две кнопки "wi-fi" и "inthernet" . Кнопка "wi-fi" отвечает за настройки работы в локальной сети. Кнопка "internet" отвечает за работу из 3G (внешней сети) все работает так как указано на сайте при использование данного скрипта:
function Internal_1()
{ IR.GetDevice("iRidium Server").SetParameters({Host: "192.168.0.100", Port: 30464, LogLevel: 0, BackgroundMode: 0}); }
function External_1()
{ IR.GetDevice("iRidium Server").SetParameters({Host: "215.110.10.10", Port: 30464, LogLevel: 0, BackgroundMode: 0}); }
Все просто жуть( всегда нужно переключать сеть (
Я видел что везде написанно что авто нельзя ( но теоретически если устройство уже находится в сети то просто нужен feedback сообщающий об этом, и скрипт создающий условие.
помогите пожалуйста может кто сталкивался и имеет опыт?
заранее спасибо.
Сервис поддержки клиентов работает на платформе UserEcho
Здравствуйте.
Можете попробовать скрипт подобного вида:
Добрый день,
Скрипт работает, только есть одно большое НО!!!!
Тестировал на Android устройствах! При естественном входе и выходе устройства из зоны покрытия wi-fi автопереключение не происходит ( если смотреть логи, то программа пытается получить данные по старому ip адресу ), но если влючать и отключать wi-fi на устройстве руками то все прекрасно работает.
Как выйти из положения? Может проводить еще дополнительную проверку, например по статусу подключения к серверу или обнулять как то принудительно обнулять счетчик?
Помогите пожалуйста с кодом! Версии ПО 1.2.5
код:
var MyWiFi = "ASUS" //имя вашего wi-fi
IR.AddListener(IR.EVENT_START,0,function()
{
var timer = IR.SetInterval(3000,function() // time - периодичность проверки подключения
{
if (IR.GetVariable("System.Net.SSID") == MyWiFi)
{
IR.GetDevice("iRidium Server").SetParameters({Host: "192.168.1.30", Port: 30464, LogLevel: 0, BackgroundMode: 0});
}
else
{
IR.GetDevice("iRidium Server").SetParameters({Host: "9.9.9.9", Port: 30464, LogLevel: 0, BackgroundMode: 0});
}
if (IR.GetVariable("Drivers.iRidium Server.Online") == false)
{
IR.Log("Нет соединения с сервером")
}
IR.Log(IR.GetVariable("Drivers.iRidium Server.Host"));
});
});
Здравствуйте!
Спасибо за обращение! Проблема с получением данных о WiFi сети подтвердилась. Постараемся исправить в ближайшее время.
Что же касается скрипта, то я рекомендовал бы вместо таймера использовать глобальный слушатель, т.к. он будет реагировать только на изменение токена или тэга, в отличие от таймера, который срабатывает всегда в указанные промежутки времени.
Например:
Здравствуйте!
Мы исправили проблему с токеном SSID. Теперь, при выходе из зоны покрытия WiFi или при переключении на другой WiFi, этот токен будет менять свое состояние. Попробуйте скачать новую версию 1.2.5:13944
Добрый день!!! Спасибо за оперативность.... Сейчас протестирую!!!
Здравствуйте!
Отпишитесь, пожалуйста, о результатах.