Salve, ho un errore su un socket accept:
la sintassi come da sito php.net dovrebbe essere:
resource socket_accept ( resource $socket ), quindi => socket_accept($socket).
Ho fatto prove leggendo socket dal sito di google e funziona, il problema si manifesta sulle mie due pagien: la pagina client e quella server. Queste non hanno apparentemente problemi strutturali, visto che non c'è bisogno neanche di richiamare funzioni troppe funzioni nella apgina client, il problema invece si manifesta nella pagina server:
Codice PHP:
<?php
set_time_limit(0);
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("Could not create socket\n");
//questo l'ho visto su php.net, se metto il classico ($socket, $host, $porta) non funziona e mi dà errore, scritto così invece funziona.
$sourceips['kevin'] = '127.0.0.1';
$result = socket_bind($socket, $sourceips['kevin']) or die("Could not bind to socket\n");
echo 'Risultato bind: '.$result;
echo '
';
$result = socket_listen($socket, 3) or die("Could not set up socket listener\n");
echo 'Risultato listen: '.$result;
$accetta = socket_accept($socket) or die("Could not accept incoming connection\n");
I vari if mi sono stati consigliati da un amico, per capire dove fosse il problema, e mettendo gli ordini uno ad uno, la pagina si blocca solo su accept. Per gli altri scritti in valore booleano restituisce 1, quindi non ci sono problemi.
Se qualcuno può magari copiare lo script e provarlo noterà che và in loop su socket_accept, se lo levate la pagina carica senza problemi; essendo però una apgina server.php mi serve quell'accept, provatela e fatemi sapere se dà gli stessi problemi anche a voi e se avete lo stesso problema.