Re: Модуль "MegaD"
Добавлено: Чт авг 03, 2017 10:53 am
Да, забыл написать, там где не требуется, везде ставлю "никогда не вызывать родительский метод"
Вот еще эксперимент с длинным и коротким нажатием. Модифицировал код вот так
Этот код тоже работает, однако не срабатывают короткие нажатия, навскидку те, что менее 0,5 сек.
Складывается стойкое ощущение, что сервер тормозит именно при работе с объектами (как такое возможно не понимаю). В этом коде не использовать их нельзя, так же как и в коде с ютуба (2 действия на одном выключателе). Что делать пока не знаю...
А если хранить IP мег и номера портов в свойствах, наверняка проблема тормозов тоже может всплыть. Сейчас поэкспериментирую.
Вот еще эксперимент с длинным и коротким нажатием. Модифицировал код вот так
СпойлерПоказать
if($_GET['m'] == 2) { // прилетело сообщение о длинном нажатии
$this->setProperty('Long', 1);
return;
}
else
{
if ($_GET['m'] == 1) // прилетело сообщение об отпускании клавиши
{
$lng = $this->getProperty('Long');
if ($lng == 1)
{
file_get_contents("http://192.168.2.210/sec/?cmd=11:2");
}
else
{
$str = "http://192.168.2.203/sec/?pt=11&cmd=get";
$st1=substr(file_get_contents($str),0,2);
if ($st1 == 'ON')
{
file_get_contents("http://192.168.2.210/sec/?cmd=11:0");
} ;
file_get_contents("http://192.168.2.203/sec/?cmd=11:2");
}
}
else // прилетело сообщение о нажатии выключателя
{
$this->setProperty('Long', 0);
return;
}
}
$this->setProperty('Long', 1);
return;
}
else
{
if ($_GET['m'] == 1) // прилетело сообщение об отпускании клавиши
{
$lng = $this->getProperty('Long');
if ($lng == 1)
{
file_get_contents("http://192.168.2.210/sec/?cmd=11:2");
}
else
{
$str = "http://192.168.2.203/sec/?pt=11&cmd=get";
$st1=substr(file_get_contents($str),0,2);
if ($st1 == 'ON')
{
file_get_contents("http://192.168.2.210/sec/?cmd=11:0");
} ;
file_get_contents("http://192.168.2.203/sec/?cmd=11:2");
}
}
else // прилетело сообщение о нажатии выключателя
{
$this->setProperty('Long', 0);
return;
}
}
Складывается стойкое ощущение, что сервер тормозит именно при работе с объектами (как такое возможно не понимаю). В этом коде не использовать их нельзя, так же как и в коде с ютуба (2 действия на одном выключателе). Что делать пока не знаю...
А если хранить IP мег и номера портов в свойствах, наверняка проблема тормозов тоже может всплыть. Сейчас поэкспериментирую.