Hi,
ich habe ein Problem beim lesen oder schreiben (ich weiß nicht genau wobei der Fehler auftritt) von Daten.
Ich benutze einen kleinen Linux Rechner für die Heimautomation (HM CCU). Von außen übergebe ich die notwendigen Daten an den Rechner mit folgendem Code:
Das klappt auch wunderbar. Aber nach einiger Zeit (das können 1 h oder auch 2 Tage sein) reagiert die CCU nicht mehr. Ich kann dann nichts mehr machen und muss den Resetknopf drücken.
Ich muss dazu sagen, dieses Script wird regelmäßig von fünf Rechnern, die jeweils als Fernbedienung dienen aufgerufen.
Ich vermute dass hier der Fehler zu finden ist, dass einfach zu viele Verbindungen bestehen.
Wie kann ich das verhindern? Ich suche nach einer Möglichkeit, das dieses Script korrekt abbricht und die Resourcen wieder freigibt, wenn gerade kein Zugriff möglich ist, damit spätere Zugriffe wieder korrekt funktionieren und die CCU nicht mehr einfriert.
Ciao, Chr.
ich habe ein Problem beim lesen oder schreiben (ich weiß nicht genau wobei der Fehler auftritt) von Daten.
Ich benutze einen kleinen Linux Rechner für die Heimautomation (HM CCU). Von außen übergebe ich die notwendigen Daten an den Rechner mit folgendem Code:
PHP Code:
function Post_Request ($sdata)
{
$fp = fsockopen ("127.0.0.1", 8181, $errno, $errstr, 30);
if (!$fp)
echo "$errstr ($errno)<br />\n";
else
{
$st = "POST /tclrega.exe HTTP/1.1\r\n";
$st = $st . "Content-type: application/x-www-form-urlencoded\r\n";
$st = $st . "Connection: Close\r\n";
$st = $st . "Content-length: ". strlen($sdata) ."\r\n\r\n";
fputs($fp,$st.$sdata);
$st = "";
$t = fgets($fp,500);
$st = $st . $t . "\r\n";
while ($t != "\r\n")
{
$t = fgets($fp,500);
}
$t = "";
while (!feof($fp))
{
$t .= fgets($fp,10000);
}
fclose($fp);
}
$xml = new SimpleXMLElement($t);
return $xml->result;
}
Ich muss dazu sagen, dieses Script wird regelmäßig von fünf Rechnern, die jeweils als Fernbedienung dienen aufgerufen.
Ich vermute dass hier der Fehler zu finden ist, dass einfach zu viele Verbindungen bestehen.
Wie kann ich das verhindern? Ich suche nach einer Möglichkeit, das dieses Script korrekt abbricht und die Resourcen wieder freigibt, wenn gerade kein Zugriff möglich ist, damit spätere Zugriffe wieder korrekt funktionieren und die CCU nicht mehr einfriert.
Ciao, Chr.
Comment