socket_create
(PHP 4 >= 4.1.0, PHP 5, PHP 7)
socket_create — Crée un socket
Description
$domain
, int $type
, int $protocol
)socket_create() crée un point de communication (une socket) et retourne une ressource de socket. Une connexion typique réseau est composée de deux sockets : une qui joue le rôle de client et l'autre celui du serveur.
Liste de paramètres
-
domain
-
Le paramètre
domain
spécifie la famille de protocoles à utiliser par le socket.Famille d'adresses / protocoles disponibles Domaine Description AF_INET
Protocole basé sur IPv4. TCP et UDP sont les protocoles communs de cette famille de protocoles. AF_INET6
Protocole basé sur IPv6. TCP et UDP sont les protocoles communs de cette famille de protocoles. Le support a été ajouté en PHP 5.0.0. AF_UNIX
Famille de protocoles locales de communication. Le rendement élevé et des moindres coûts supplémentaires lui font une grande force d'IPC (Interprocess Communication). -
type
-
Le paramètre
type
sélectionne le type de communication à utiliser par le socket.Types de sockets disponibles Type Description SOCK_STREAM
Fournit des flux d'octets ordonnancés, fiables, full-duplex, raccordés sur la base. Un mécanisme de transmission des données "out-of-band" peut être supporté. Le protocole TCP est basé sur ce type de sockets. SOCK_DGRAM
Support des datagrammes (moins de connexion, message non garanti d'une longueur maximum fixe). Le protocole UDP est basé sur ce type de sockets. SOCK_SEQPACKET
Fournit un chemin de transmission de données séquentiel, fiable, connecté à la base par deux chemins pour les datagrammes de longueur maximale fixe ; un consommateur est requis pour lire la totalité d'un paquet avec chaque appel à la lecture. SOCK_RAW
Fournit l'accès brut de protocole de réseau. Ce type spécial de socket peut être utilisé pour construire manuellement tout type de protocole. Une utilisation commune de ce type de sockets est le traitement des requêtes ICMP (comme le ping). SOCK_RDM
Fournit une couche fiable de datagramme qui ne garantit pas l'ordre des données. Ce type de socket est le plus susceptible de ne pas être implémenté sur votre système d'exploitation. -
protocol
-
Le paramètre
protocol
définit le protocole spécifique pour le domainedomain
à utiliser lors de communications sur un socket retourné. La valeur appropriée peut être retrouvée par son nom en utilisant la fonction getprotobyname(). Si le protocole désiré est TCP ou UDP, les constantes correspondantesSOL_TCP
etSOL_UDP
peuvent être utilisées.Protocoles Communs Nom Description icmp Le protocole ICMP (Internet Control Message Protocol) est utilisé tout d'abord par les passerelles et les hôtes pour reporter les erreurs dans des communications de datagramme. La commande "ping" (présente dans les systèmes de production modernes) est un exemple d'application utilisant le protocole ICMP. udp Le protocole UDP (User Datagramm Protocol) est un protocole sans connexion, incertain avec les longueurs d'enregistrements fixes. De ce fait, UDP requiert une quantité minimum de protocole aérienne. tcp Le protocole TCP (Transmission Control Protocol) est un protocole fiable, connecté sur la base, orienté flux et full-duplex. TCP garantit que chaque paquet est reçu dans l'ordre dans lequel il a été envoyé. Si quelques paquets sont perdus pendant la communication, TCP retransmettra ces paquets tant que l'hôte destinataire ne les aura pas reçu entièrement. Pour des raisons de fiabilité et de performance, l'implémentation TCP, elle-même, décide des frontières appropriées d'octets de la couche fondamentale de communication du datagramme. Par conséquent, les applications TCP doivent autoriser la possibilité de transmission partielle d'enregistrements.
Valeurs de retour
socket_create() retourne une ressource de
socket en cas de succès et FALSE
sinon. Le code
d'erreur généré peut être obtenu en appelant la fonction
socket_last_error(). Ce code d'erreur
peut être passé à la fonction socket_strerror()
pour obtenir un message d'erreur humainement lisible.
Erreurs / Exceptions
Si une valeur invalide est spécifiée au paramètre domain
ou
au paramètre type
, la fonction socket_create()
prendra comme paramètres par défaut respectivement AF_INET
et
SOCK_STREAM
et générera un message d'alerte
(E_WARNING
).
Voir aussi
- socket_accept() - Accepte une connexion sur un socket
- socket_bind() - Lie un nom à un socket
- socket_connect() - Crée une connexion sur un socket
- socket_listen() - Attend une connexion sur un socket
- socket_last_error() - Lit la dernière erreur générée par un socket
- socket_strerror() - Retourne une chaîne décrivant un message d'erreur
Version en cache
05/11/2024 14:50:58 Cette version de la page est en cache (à la date du 05/11/2024 14:50:58) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-socket-create.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.