Descripción
int
fsockopen ( string hostname, int port [, int errno [, string errstr [, double timeout]]])
Inicia una conexión de dominio Internet (AF_INET) o Unix (AF_UNIX).
Para el domino Internet, abrirá una conexión TCP hacia el ordenador
hostname en el puerto port. Para
el dominio Unix, hostname se usará como ruta
al socket, port debe ser 0 para este caso.
El parámetro opcional timeout se puede usar
para especificar un timeout en segundos para establecer la conexión.
fsockopen() devuelve un puntero a fichero, el cual
se puede usar junto con las otras funciones de ficheros (como
fgets(), fgetss(),
fputs(), fclose(),
feof()).
Si la llamada falla, esta devolverá falso y si los parámetros opcionales
errno y errstr están
presentes, indicarán el error del sistema que ocurrió en la
llamada connect(). Si errno es 0 y la función devolviá falso,
nos indica que el error ocurrió antes de la llamada connect().
Esto es debido principalmente a problemas inicializando el socket.
Observe que los argumentos errno y errstr deben ser pasados por referencia.
Dependiendo del entorno, el dominio Unix o el parámetro opcional,
timeout puede no estar disponible.
Por defecto, el socket será abierto en modo de bloqueo.
Puede cambiarlo a modo de no bloqueo usando
set_socket_blocking().
Ejemplo 1. ejemplo con fsockopen $fp = fsockopen("www.php.net", 80, &$errno, &$errstr, 30);
if(!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs($fp,"GET / HTTP/1.0\n\n");
while(!feof($fp)) {
echo fgets($fp,128);
}
fclose($fp);
} |
|
Ver también:
pfsockopen()