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()