Salve, tempo fà avevo aperto su questo forum un tread riguardante questo argomento, le risposte ricevute sono state esaurienti e trovando la soluzione avevo anche l'avevo anche postata, ecco qui nel caso vogliate vederla: http://forum.html.it/forum/showthrea...4&pagenumber=3 .
Tuttavia è sorto un problema nell'applicazione della stessa su un'altro sito web, di cui non m avvalgo del supporto del db per stampare ogni volta i messaggi.
Codice PHP:
$messaggio 'prova: ciao';
do{
    
$socket socket_create(AF_INETSOCK_STREAMSOL_TCP) or die("Impossibile creare il socket\n");
    
socket_connect($socket$host$port) or die("Impossibile collegarsi al server\n");
    
socket_write($socket$messaggiostrlen($messaggio)) or die("Impossibile inviare il messaggio al server\n");//con questo mando il messaggio stampato sul socket, in modo da farlo vedere a tutte le pagine in cui è presente la chat
    
$leggi socket_read ($socket1024) or die("Impossibile leggere la risposta di ritorno dalla pagina server\n");
    
$messaggio $leggi;
    echo 
$messaggio;
    
socket_close($socket);//a differenza della pagian server.php qui possiamo chiudere il socket, poichè abbimo già trattato i valori e stampato i risultati
    
}while(1); 
Ho optato per un ciclo do-while, in quanto vorrei reuperare i valori stampati in precedenza all'apertura della pagina e aggiornarla all'occorrenza.
Il problema è questo: non riesco a dire al server che deve eseguire il ciclo o continuare a eseguirlo solo quando il socket ha un valore reale, e quindi è effettivamente un messaggio.
Preciso che un socket vuoto, come in questo caso non è mai vuoto, se stampate un socekt vuoto avrete: ' ', ovvero lascia lo spazio, quindi il valore "strlen($socket) == '1'" è sempre vero se è vuoto.

Dopo questa spiegazione ecco l'obbiettivo che vorrei raggiungere: attivare il ciclo while solo se il socket ha un valore diverso dallo spazio vuoto. Spero qualcuno mi possa essere d'aiuto.