premesso che, come ti è stato già detto, non devi usare il listen/accept dentro una pagina web, è possibile usare le socket in modalità non bloccante ma il codice ovviamente diventa più complesso perché devi anche gli eventi relativi.

http://php.net/manual/en/function.so...t-nonblock.php

(ignora l'avviso che ti dice che la funziona è sperimentale ... c'è da anni ^^)

nel momento in cui la imposti non bloccante ... OGNI chiamata bloccante ritornerà IMMEDIATAMENTE, anche se non ha completato le operazioni richieste!

Nel caso di accept, ritornerà immediatamente ... prima di aver "accettato" una connessione in ingresso sia nel caso che ci sia sia nel caso che non ci sia.

Sotto questo punto di vista viene in soccorso socket_select che può essere usato sia con le socket bloccanti sia con le socket non bloccanti.

Su php, ma se devo dirla tutta in confronto alle evoluzioni come poll ed epoll è più lento, ma non credo sia un punto che ti interessi visto che la pagina è in php

http://www.php.net/manual/en/function.socket-select.php

ma soprattutto qua
http://www.php.net/manual/en/functio...lect.php#56241

che mostra un utilizzo CORRETTO di select che può essere facilmente convertito all'uso con socket non bloccanti ... se vedi codici strani che usano le socket non bloccanti con socket_accept dentro un loop con una @ davanti o con gli errori disabilitati ... buttali istantaneamente ... non è il modo corretto di usare le socket non bloccanti!