Keiner ein Idee 

Auf php.net wird das „genauso“ wie von Christian vorgeschlagen erklärt ...
Beispiel #4 Nutzung von Stream-Contexten
Mein Teil (mittlerweile auf Minimum reduziert) :
Und hier der EXEC-Teil mit „Else"


Auf php.net wird das „genauso“ wie von Christian vorgeschlagen erklärt ...
Beispiel #4 Nutzung von Stream-Contexten
PHP-Code:
<?php
// Erzeugen eines Streams
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
)
);
$context = stream_context_create($opts);
// Öffnen der Datei mit den oben definierten HTTP-Headern
$file = file_get_contents('http://www.example.com/', false, $context);
?>
Mein Teil (mittlerweile auf Minimum reduziert) :
PHP-Code:
if ($E=getLogicEingangDataAll($id)) {
// L a u t s t ä r k e :
if ($E[20]['value']!=0 && $E[20]['refresh']==1) {
$ctx=stream_context_create(array('http' => array('timeout' => 3 )));
$r=file_get_contents('http://10.0.100.150/%7Edariusz/iControl.php?c=apVolume&p1=Computer&p2='.$E[20]['value'],0,$ctx);
}
}
Und hier der EXEC-Teil mit „Else"
PHP-Code:
###[EXEC]###
<?php
require(dirname(__FILE__)."/../../../../main/include/php/incl_lbsexec.php");
set_time_limit(0);
sql_connect();
if ($E=getLogicEingangDataAll($id)) {
// Hier ein UDP-Listener, der N I C H T auf Datenpakte wartet. Die Schleife läuft also ständig durch!
// WICHTIG: PHP-Fehlerbehandlung abschalten, sonst generiert socket_recv() "Warnungen", wenn keine Daten empfangen wurden
restore_error_handler();
error_reporting(0);
if ($socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP)) {
if (socket_bind($socket,0,$E[31]['value'])) {
while (getSysInfo(1)>=1) {
$len = socket_recv($socket,$data,1024,MSG_DONTWAIT);
if ($len!==false) {
// UPD-Paket empfangen: Hier die Auswertung wie gehabt...
$data = preg_replace("/[^A-Za-z0-9&=]/",'',$data);
parse_str($data, $output); // $output = array();
if (array_key_exists('EA', $output)) {setLogicLinkAusgang($id,1, $output['EA']);}
if (array_key_exists('Play', $output)) {setLogicLinkAusgang($id,2, $output['Play']);}
if (array_key_exists('Pause', $output)) {setLogicLinkAusgang($id,3, $output['Pause']);}
if (array_key_exists('Stop', $output)) {setLogicLinkAusgang($id,4, $output['Stop']);}
if (array_key_exists('FF', $output)) {setLogicLinkAusgang($id,5, $output['FF']);}
if (array_key_exists('FR', $output)) {setLogicLinkAusgang($id,6, $output['FR']);}
if (array_key_exists('MastVol',$output)) {setLogicLinkAusgang($id,7, $output['MastVol']);}
if (array_key_exists('LS1', $output)) {setLogicLinkAusgang($id,10,$output['LS1']);}
if (array_key_exists('LS2', $output)) {setLogicLinkAusgang($id,11,$output['LS2']);}
if (array_key_exists('LS3', $output)) {setLogicLinkAusgang($id,12,$output['LS3']);}
if (array_key_exists('LS4', $output)) {setLogicLinkAusgang($id,13,$output['LS4']);}
if (array_key_exists('LS5', $output)) {setLogicLinkAusgang($id,14,$output['LS5']);}
if (array_key_exists('LS6', $output)) {setLogicLinkAusgang($id,15,$output['LS6']);}
if (array_key_exists('LS7', $output)) {setLogicLinkAusgang($id,16,$output['LS7']);}
if (array_key_exists('LS8', $output)) {setLogicLinkAusgang($id,17,$output['LS8']);}
if (array_key_exists('LS9', $output)) {setLogicLinkAusgang($id,18,$output['LS9']);}
if (array_key_exists('LS10', $output)) {setLogicLinkAusgang($id,19,$output['LS10']);}
if (array_key_exists('LSV1', $output)) {setLogicLinkAusgang($id,20,$output['LSV1']);}
if (array_key_exists('LSV2', $output)) {setLogicLinkAusgang($id,21,$output['LSV2']);}
if (array_key_exists('LSV3', $output)) {setLogicLinkAusgang($id,22,$output['LSV3']);}
if (array_key_exists('LSV4', $output)) {setLogicLinkAusgang($id,23,$output['LSV4']);}
if (array_key_exists('LSV5', $output)) {setLogicLinkAusgang($id,24,$output['LSV5']);}
if (array_key_exists('LSV6', $output)) {setLogicLinkAusgang($id,25,$output['LSV6']);}
if (array_key_exists('LSV7', $output)) {setLogicLinkAusgang($id,26,$output['LSV7']);}
if (array_key_exists('LSV8', $output)) {setLogicLinkAusgang($id,27,$output['LSV8']);}
if (array_key_exists('LSV9', $output)) {setLogicLinkAusgang($id,28,$output['LSV9']);}
if (array_key_exists('LSV10', $output)) {setLogicLinkAusgang($id,29,$output['LSV10']);}
} else {
// kein UDP-Paket empfangen: Hier könnten z.B. HTTP-Request verarbeitet werden
if ($E=getLogicEingangDataAll($id)) {
// L a u t s t ä r k e :
if ($E[20]['value']!=0 && $E[20]['refresh']==1) {
$ctx=stream_context_create(array('http' => array('timeout' => 3 )))
$r=file_get_contents('http://10.0.100.150/%7Edariusz/iControl.php?c=apVolume&p1=Computer&p2='.$E[20]['value'],0,$ctx);
}
}
}
usleep(1000*100); //z.B. 100ms warten - wichtig, um die CPU-Last zu begrenzen!
}
}
}
socket_close($socket);
}
sql_disconnect();
?>
###[/EXEC]###
Kommentar