Manuel PHP
Précédent |  | Suivant

# socket_bind

(PHP 4 >= 4.1.0, PHP 5)

socket_bind -- Lie un nom à une socket

## Description

bool socket_bind ( resource socket, string address [, int port] )

Lie le nom donné par address à l'interface de connexion décrite par socket. Ceci doit être effectué avant qu'une connexion puisse être établie en utilisant socket_connect() ou socket_listen().

## Liste de paramètres

socket

  Une ressource de socket valide créée par la fonction socket_create().

address

  Si la socket est de la famille `AF_INET`, le paramètre address est une IP numérique (i.e. 127.0.0.1).

  Si la socket est de la famille `AF_UNIX`, le paramètre address le chemin d'une socket de domaine Unix (i.e. `/tmp/my.sock`).

port (Optional)

  Le paramètre port est uniquement utilisé lors de la connexion à une socket `AF_INET` et désigne le port de l'hôte distant sur lequel la connexion doit être effectuée.

## Valeurs de retour

Cette fonction retourne `TRUE` en cas de succès, `FALSE` en cas d'échec.

Le code erreur peut être récupéré avec la fonction socket_last_error(). Ce code peut être passé à la fonction socket_strerror() pour récupérer le message textuel de l'erreur.

## Exemples

Exemple 1. Utilisation de socket_bind() pour définir l'adresse de la source

`<?php
// Création d'une nouvelle socket
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// Une liste d'adresse IP, par exemple, appartenent à l'ordinateur
$sourceips['kevin'] = '127.0.0.1';
$sourceips['madcoder'] = '127.0.0.2';
// Lie l'adresse de la source
socket_bind($sock, $sourceips['madcoder']);
// Connexion à l'adresse de destination
socket_connect($sock, '127.0.0.1', 80);
// Écriture
$request = 'GET / HTTP/1.1' . "\r\n" .
'Host: example.com' . "\r\n\r\n";
socket_write($sock, $request);
// Fermeture
socket_close($sock);
?>`

## Notes

> Note : Cette fonction doit être utilisée sur la socket avant la fonction socket_connect().

> Note : Note de compatibilité avec Windows 9x/ME : socket_last_error() peut retourner un code erreur invalide lorsque vous tentez de lier une socket avec une adresse fausse, qui n'appartient pas à la machine.

## Voir aussi

socket_connect()
socket_listen()
socket_create()
socket_last_error()
socket_strerror()

Précédent | Sommaire | Suivant
socket_accept | Niveau supérieur | socket_clear_error