(PHP 4 >= 4.1.0, PHP 5, PHP 7)
socket_bind — Vincula un nombre a un socket
$socket
, string $address
[, int $port
= 0
] )
Vincula el nombre dado en address
al socket
descrito por socket
. Esto tiene que ser hecho antes
de establecer una conexión usando socket_connect()
o socket_listen().
socket
Un recurso socket válido creado con socket_create().
address
Si el socket es de la familia AF_INET
,
address
es una IP en notación decimal con puntos
(p.ej. 127.0.0.1).
Si el socket es de la familia AF_UNIX
,
address
es una ruta de un
socket de dominio Unix (p.ej. /tmp/my.sock).
port
(Optional)
El parámetro port
sólo se usa cuando
se vincula un socket AF_INET
, y designa
el puerto en el que escuchar conexiones.
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
El código de error se puede recuperar con socket_last_error(). Este código puede pasarse a socket_strerror() para obtener una explicación textual del error.
Ejemplo #1 Usar socket_bind() para establecer la dirección de origen
<?php
// Crear un nuevo socket
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// Una lista de ejemplo de direcciones IP pertenecientes al ordenador
$sourceips['kevin'] = '127.0.0.1';
$sourceips['madcoder'] = '127.0.0.2';
// Vincular la dirección de origen
socket_bind($sock, $sourceips['madcoder']);
// Conectar a la dirección de destino
socket_connect($sock, '127.0.0.1', 80);
// Escribir
$request = 'GET / HTTP/1.1' . "\r\n" .
'Host: example.com' . "\r\n\r\n";
socket_write($sock, $request);
// Cerrar
socket_close($sock);
?>
Nota:
ESta función se debe usar sobre el socket antes de socket_connect().
Nota:
Observación de compatibilidad con Windows 9x/ME: socket_last_error() puede devolver un código de error no válido si intenta vincular el socket a una dirección errónea que no pertenece a su máquina.