Ho pensato di modificarlo con una funzione, ma ho un problemino:
Codice PHP:
function prova(){
$host = "localhost";
$port = porta;
$messaggio ='ciao';
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("Impossibile creare il socket\n");
socket_connect($socket, $host, $port) or die("Impossibile collegarsi al server\n");
socket_write($socket, $messaggio, strlen($messaggio)) or die("Impossibile inviare il messaggio al server\n");
$leggi = socket_read ($socket, 1024) or die("Impossibile leggere la risposta di ritorno dalla pagina server\n");
$messaggio = $leggi;
echo $messaggio;
socket_close($socket);
//adesso per evitare il loop qui dentro posso usare: continue - break - exit o die, i più indicati sarebbero break e continue, ma danno lo stesso effetto di exit o die
}
while(1){
prova();
}
echo 'fine';
In questo modo pensavo di raggiungere l'effetto ma mi sbagliavo, perchè non arriva mai a stampare 'fine', potrei anche passarci su se continuasse il ciclo, ma si blocca.
Preciso che la pagina deve per forza interrompere la funzione, altrimenti non mi stampa nulla, rimangono sempre con la pagina bianca, invece se interrompo la funzione stampa, ma solo una volta.
Potrei provare ad abbandonare il ciclo while per un ciclo for infinito?
Al di là del risultato che posso raggiungere dove stò sbagliando? Il concetto mi sembra quello.

P.S. Ripreciso che i problemi sono 2: o va in loop, o stampa un solo risultato ad ogni refresh della pagina, e a causa delle istruzioni necessarie per non farlo andare in loop(continue, break, ecc->provate tutte tranne die, perchè sò che ferma la pagina) esce dal ciclo while, e quindi anche da un ipotetico ciclo for...