^^
Bhè grazie, ma quella funzione l'avevo gia provata anche se era quella per avviare la connessione è ritornava il valore solo se veniva effettuata.
Ho smesso di cercare moduli ed ho trovato una soluzione poco ortodossa, un po' bruttina da guardare.
codice:
$stato=0;
recv($sock, $buf, 2048,0) or $stato=1;
if ($con || $buf eq "") {
print "Connessione interrotta.";
[...]
$ciao=<stdin>;
}
Nell'IF uso due condizioni perchè ho visto che si possono verificare due casi.
1) Si accorge che il client si è sconnesso e restituisce valore UNDEF cambiando valore di $STATO in 1. Ed esegue il codice nell'IF.
2) Non si accorge che il client si è sconnesso e non cambia valore a $STATO ma la variabile $var viene rimpeita con caratteri nulli.
Il codice sopra può essere semplificato in questo modo:
codice:
$buf="";
recv($sock, $buf, 2048,0);
if ($buf eq "") {
print "Connessione interrotta.";
[...]
$ciao=<stdin>;
}
Funzionano entrambi anche se lasciano un po' a desiderare.
Grazie lo stesso ^^.
Ciao!