Options de contexte des sockets
Liste des options de contexte des sockets
&reftitle.description;
Les options de contexte des sockets sont disponibles pour tous les
gestionnaires fonctionnant via les sockets, comme
tcp, http et
ftp.
&reftitle.options;
bindto
Utilisé pour spécifier l'adresse IP (soit IPv4 ou IPv6), et/ou
le numéro du port que PHP utilisera pour accéder au réseau.
La syntaxe est ip:port pour les adresses IPv4,
et [ip]:port pour les adresses IPv6.
Le fait de définir l'IP ou le port à 0 permettra
au système de choisir lui-même le port et/ou l'IP.
Vu que FTP crée 2 sockets de connexion lors d'une opération normale,
le numéro du port ne peut être spécifié en utilisant cette option.
backlog
Utilisé pour limiter le nombre de connexions actives
dans la liste d'attente du socket.
Ceci n'est applicable qu'à la fonction
stream_socket_server.
ipv6_v6only
Substitue le système d'exploitation par défaut concernant le mappage d'IPv4 dans IPv6.
Ceci est important en particulier lorsque vous essayez d'écouter sur
les adresses IPv4 séparément alors qu'il existe une liaison sur [::].
Ceci n'est applicable qu'à la fonction stream_socket_server.
so_reuseport
Permet plusieurs liaisons d'une même paire ip:port, même à partir de processus distinct.
Ceci n'est applicable qu'à la fonction stream_socket_server.
so_broadcast
Permet d'envoyer et de recevoir des données vers/à partir d'adresses de diffusion.
Ceci n'est applicable qu'à la fonction stream_socket_server.
tcp_nodelay
Mettre la valeur a &true; définira SOL_TCP,NO_DELAY=1
correctement, ce qui désactivera l'algorithme TCP Nagle.
&reftitle.changelog;
&Version;
&Description;
7.1.0
Ajout du paramètre tcp_nodelay.
7.0.1
Ajout du paramètre ipv6_v6only.
&reftitle.examples;
Exemple d'utilisation du paramètre bindto
array(
'bindto' => '192.168.0.100:0',
),
);
// Connexion à Internet en utilisant l'IP '192.168.0.100' et le port '7000'
$opts = array(
'socket' => array(
'bindto' => '192.168.0.100:7000',
),
);
// Connexion à Internet en utilisant l'adresse IPv6 '2001:db8::1'
// et le port '7000'
$opts = array(
'socket' => array(
'bindto' => '[2001:db8::1]:7000',
),
);
// Connexion à Internet en utilisant le port '7000'
$opts = array(
'socket' => array(
'bindto' => '0:7000',
),
);
// Création du contexte...
$context = stream_context_create($opts);
// ...et l'utilise pour récupérer les données
echo file_get_contents('http://www.example.com', false, $context);
?>
]]>