Salve a tutti,
Ho creato una funzione in PHP che legge i dati da porta seriale.
La funzione interagisce, sempre tramite seriale, con una scheda; invia un comando e si aspetta una risposta. Tutto funziona ok salvo il fatto che se la scheda non risponde la pagina web rimane in attesa fino all'esaurimento del time-out mostrando il fatidico messaggio "pagina inestitente.
Vorrei integrare un time-out nella mia funzione ma non riesco a farlo.Vi posto il codice della funzione così come è adesso.
function AttesaRisposta()
{
$filename = "/dev/ttyS2";
$fd = fopen($filename, "r" );
do{
$Char=fgetc($fd);
$Lettura = $Lettura . $Char;
}while($Char != "\n");
fclose($fd);
return $Lettura;
}
Per chiarezza: se non ricevo niente entro 2 secondi assegno a $Lettura = Errore ed esco
Grazie.
Mauro
Ho creato una funzione in PHP che legge i dati da porta seriale.
La funzione interagisce, sempre tramite seriale, con una scheda; invia un comando e si aspetta una risposta. Tutto funziona ok salvo il fatto che se la scheda non risponde la pagina web rimane in attesa fino all'esaurimento del time-out mostrando il fatidico messaggio "pagina inestitente.
Vorrei integrare un time-out nella mia funzione ma non riesco a farlo.Vi posto il codice della funzione così come è adesso.
function AttesaRisposta()
{
$filename = "/dev/ttyS2";
$fd = fopen($filename, "r" );
do{
$Char=fgetc($fd);
$Lettura = $Lettura . $Char;
}while($Char != "\n");
fclose($fd);
return $Lettura;
}
Per chiarezza: se non ricevo niente entro 2 secondi assegno a $Lettura = Errore ed esco
Grazie.
Mauro