(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_bind — Asocia un nombre a un socket
Asocia el nombre proporcionado por address
a la
interfaz de conexión descrita por socket
. Esto debe
realizarse antes de que se establezca una conexión utilizando
socket_connect() o socket_listen().
socket
Una instancia de Socket creada por socket_create().
address
Si el socket pertenece a la familia AF_INET
, el parámetro
address
es una IP numérica
(i.e. 127.0.0.1
).
Si el socket pertenece a la familia AF_UNIX
, el parámetro
address
representa la ruta de un socket de dominio Unix
(i.e. /tmp/my.sock).
port
(opcional)
El parámetro port
solo se utiliza al
asociar un socket AF_INET
y designa el puerto
en el que escuchar para una conexión.
Devuelve true
en caso de éxito o false
en caso de error.
El código de error puede ser recuperado con la función socket_last_error(). Este código puede ser pasado a la función socket_strerror() para recuperar el mensaje textual del error.
Versión | Descripción |
---|---|
8.0.0 |
socket is a Socket instance now;
previously, it was a resource.
|
Ejemplo #1 Uso de socket_bind() para definir la dirección de origen
<?php
// Creación de un nuevo socket
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// Una lista de direcciones IP, por ejemplo, pertenecen a la computadora
$sourceips['kevin'] = '127.0.0.1';
$sourceips['madcoder'] = '127.0.0.2';
// Asocia la dirección de origen
socket_bind($sock, $sourceips['madcoder']);
// Conexión a la dirección de destino
socket_connect($sock, '127.0.0.1', 80);
// Escritura
$request = 'GET / HTTP/1.1' . "\r\n" .
'Host: example.com' . "\r\n\r\n";
socket_write($sock, $request);
// Cierre
socket_close($sock);
?>
Nota:
Esta función debe ser utilizada en el socket antes de la función socket_connect().