Inicia una conexi贸n a trav茅s de sockets con el recurso especificado por destino. PHP soporta el uso de destinos en los dominios de Internet y Unix, tal y como se describe en Ap茅ndice O. Una lista de transportes soportados puede recuperarse usando stream_get_transports().
Nota: Si necesita establecer un tiempo de espera para la lectura/escritura de datos a trav茅s del socket, use stream_set_timeout(), dado que el par谩metro tiempo_espera de fsockopen() s贸lo se aplica cuando se conecta con el socket.
A partir de PHP 4.3.0, si ha compilado el soporte para OpenSSL, usted puede usar un prefijo sobre el nombre_host, ya sea 'ssl://' o 'tls://' para usar una conexi贸n de cliente SSL o TLS sobre TCP/IP para conectarse con el host remoto.
fsockopen() devuelve un apuntador de archivo el cual puede ser usado junto con otras funciones de archivos (como fgets(), fgetss(), fwrite(), fclose(), y feof()).
Si la llamada falla, devolver谩 FALSE, y si los argumentos opcionales errno y errstr est谩n presentes, ser谩n modificados para indicar el error de nivel de sistema real que ocurri贸 en la llamada de sistema connect(). Si el valor devuelto en errno es 0 y la funci贸n devolvi贸 FALSE, es un indicio de que el error ocurri贸 antes de la llamada a connect(). Lo m谩s probable es que esto se deba a un problema con la inicializaci贸n del socket. Note que los argumentos errno y errstr siempre ser谩n pasados por referencia.
Dependiendo del entorno, el dominio Unix o el tiempo de espera de conexi贸n opcional pueden no estar disponibles.
El socket ser谩 abierto por defecto en modo de bloqueo. Puede cambiar a modo de no-bloqueo usando stream_set_blocking().
| Aviso |
En ocasiones, los sockets UDP parecer谩n haber sido abiertos sin errores, incluso si el host remoto no puede ser contactado. El error s贸lo se percibir谩 cuando lea o escriba datos hacia/desde el socket. La raz贸n es que UDP es un protocolo "sin conexi贸n", lo que quiere decir que el sistema operativo no intenta establecer un enlace con el socket hasta que necesite realmente enviar o recibir datos. |
Nota: Cuando se especifique una direcci贸n num茅rica IPv6 (p.ej. fe80::1) se debe incluir la IP entre corchetes. Por ejemplo tcp://[fe80::1]:80.
Nota: El par谩metro de tiempo de espera fue introducido en PHP 3.0.9 y el soporte para UDP fue a帽adido en PHP 4.