СпойлерПоказать
//Проверка на работоспособность функции fsockopen
if(!function_exists('fsockopen'))
{ say ( 'fsockopen не работает!'); return; }
//Используем определённые сервера на которых точно открыты нужные порты
$tests = array(
1883 => '192.168.1.35'
)
;
//По циклу тестируем
foreach($tests as $port => $server){
//Соединяемся
$fp = @fsockopen($server,$port,$errno,$errstr,5);
//Если удачное соединение
if($fp){
sg('mqttserver.statecolor','green');
sg('mqttserver.error','');
fclose($fp);}
//Если неудачное соединение
else{
sg('mqttserver.statecolor','red');
//sg('mqttserver.error',$errno.' : '.$errstr');
}}
if(!function_exists('fsockopen'))
{ say ( 'fsockopen не работает!'); return; }
//Используем определённые сервера на которых точно открыты нужные порты
$tests = array(
1883 => '192.168.1.35'
)
;
//По циклу тестируем
foreach($tests as $port => $server){
//Соединяемся
$fp = @fsockopen($server,$port,$errno,$errstr,5);
//Если удачное соединение
if($fp){
sg('mqttserver.statecolor','green');
sg('mqttserver.error','');
fclose($fp);}
//Если неудачное соединение
else{
sg('mqttserver.statecolor','red');
//sg('mqttserver.error',$errno.' : '.$errstr');
}}
<font size="4" color="%mqttserver.stateColor%" title="MQTT">●</font>
и не забываем вызывать сценарий например раз в минуту из таймера ClockChime.onNewMinute
RunScript('mqtt_open');