stream_socket_recvfrom
(PHP 5)
stream_socket_recvfrom -- Lit des données depuis une socket, connectée ou pas
Description
string
stream_socket_recvfrom ( resource socket, int length [, int flags [, string &address]])
stream_socket_recvfrom() accepte les données
depuis une socket distante, jusqu'à un total de length
octets. Si le paramètre address est fourni, il
recevra l'adresse de la socket distante.
La valeur de flags peut être la combinaison
des constantes suivantes :
Tableau 1. Valeurs possibles pour flags
STREAM_OOB |
Traite les données en mode OOB (out-of-band).
|
STREAM_PEEK |
Lit des données depuis la socket, mais n'utilise pas le buffer.
Les prochains appels à fread() ou
stream_socket_recvfrom() liront les mêmes
données.
|
Exemple 1. Exemple avec stream_socket_recvfrom()
<?php /* Ouvre une socket sur le port 1234 de localhost */ $server = stream_socket_server('tcp://127.0.0.1:1234');
/* Accepte une connexion */ $socket = stream_socket_accept($server);
/* Lit un paquet (1500 est la taille classique MTU) de données OOB */ echo "Received Out-Of-Band: '" . stream_socket_recvfrom($socket, 1500, STREAM_OOB) . "'\n";
/* Lit les données normales in-band, mais ne modifie rien */ echo "Data: '" . stream_socket_recvfrom($socket, 1500, STREAM_PEEK) . "'\n";
/* Relit le même paquet, mais vide le buffer. */ echo "Data: '" . stream_socket_recvfrom($socket, 1500) . "'\n";
/* Terminaison */ fclose($socket); fclose($server); ?>
|
|
Voir aussi
stream_socket_sendto(),
stream_socket_client() et
stream_socket_server().