Longhorn PHP 2026 - Call For Papers

socket_getsockname

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_getsocknameInterroge le socket local

Description

socket_getsockname(Socket $socket, string &$address, int &$port = null): bool

Note: socket_getsockname() ne doit pas être utilisée avec les sockets AF_UNIX créés avec socket_connect(). Seules les sockets suivant un appel de socket_bind() retournent des valeurs logiques.

Liste de paramètres

socket

Une instance de Socket créée par socket_create() ou socket_accept().

address

Si le socket socket est de type AF_INET, ou AF_INET6, socket_getsockname() retourne l'adresse IP locale, en notation numérique (e.g. 127.0.0.1 ou fe80::1) dans le paramètre address, et si le paramètre optionnel port est présent, elle retourne aussi le port de la communication établie.

Si le socket socket est de type AF_UNIX, socket_getsockname() retournera le chemin sur le système de fichiers (e.g. /var/run/daemon.sock) dans le paramètre address.

port

Si fourni, ce devra être le port associé à l'adresse.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient. socket_getsockname() peut aussi retourner false si le type du socket n'est ni AF_INET, ni AF_INET, ni AF_UNIX, auquel cas le dernier code d'erreur socket n'est pas modifié.

Historique

Version Description
8.5.0 Récupère désormais l'index d'interface et sa représentation textuelle lorsqu'elle est utilisée sur un socket de la famille AF_PACKET.
8.0.0 socket est désormais une instance de Socket ; auparavant, c'était une resource.

Voir aussi

add a note

User Contributed Notes 1 note

up
0
CXJ
11 years ago
Curiously, getsockname() works for socket_create() and socket_create_pair() Unix-domain (AF_UNIX) sockets if one calls socket_bind() after creation to name the formerly anonymous socket(s).  

Using a socket_bind() call also results in a file system "file" (socket, first character 's' in an "ls -l" listing) being created with the given name.  Such a "file" will need to be removed explicitly, as closing the socket will not remove it.
To Top