stream_socket_client Abrir una conexión de socket de dominio de Internet o Unix &reftitle.description; resourcestream_socket_client stringremote_socket interrno stringerrstr floattimeoutini_get("default_socket_timeout") intflagsSTREAM_CLIENT_CONNECT resourcecontext Inicia una conexión de flujo o datagrama al destino especificado por remote_socket. El tipo de socket creado se determina por el transporte especificado usando el formato de URL estándar: transporte://objetivo. Para sockets de Dominio de Internet (AF_INET) como TCP y UDP, la porción del objetivo del parámetro remote_socket debería consistir en un nombre de host o dirección IP seguida de dos puntos y un número de puerto. Para sockets de dominio de Unix, la porción de target apuntará al archivo de socket del sistema de archivos. El flujo será abierto por defecto en modo de bloqueo. Se puede cambiar al modo de no bloqueo usando stream_set_blocking. &reftitle.parameters; remote_socket Dirección del socket al que se va a conectar. errno Será establecido al número de error a nivel de sistema si la conexión falla. errstr Será establecido al mensaje de error a nivel de sistema si la conexión falla. timeout Número de segundos hasta que la llamda al sistema de connect() debería esperar. Este parámetro sólo se aplica cuando no se hace un intento de conexión asíncrona. Para establecer un tiempo de espera para lectura/escritura de información sobre el socket, use la función stream_set_timeout, ya que timeout sólo se aplica mientras se hace una conexión al socket. flags Campo de máscara de bits que puede ser establecido a cualquier combinación de banderas de conexión. Actualmente la selección de banderas de conexión está limitada a STREAM_CLIENT_CONNECT (por defecto), STREAM_CLIENT_ASYNC_CONNECT y STREAM_CLIENT_PERSISTENT. context Un recurso de contexto válido creado con stream_context_create. &reftitle.returnvalues; Si se tuvo éxito, un recurso de flujo es devuelto, el cuál se puede usar junto con las demás funciones de archivo (tales como fgets, fgetss, fwrite, fclose, y feof), &false; si falló. &reftitle.errors; Si falló, los argumentos errno y errstr serán rellenados con el error a nivel de sistema actual que ocurrió en la llamda a nivel de sistema de connect(). Si el valor devuelto en errno es 0 y la función devolvió &false;, es una indicación de que el error ocurrió antes de la llamada a connect(). Esto es lo más probable debido a un problema de inicialización del socket. Observe que los argumentos errno y errstr siempre serán pasados por referencia. &reftitle.examples; Ejemplo de <function>stream_socket_client</function> \n"; } else { fwrite($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\nAccept: */*\r\n\r\n"); while (!feof($fp)) { echo fgets($fp, 1024); } fclose($fp); } ?> ]]> Usar una conexión UDP Recuperar el día y la hora desde el servicio "daytime" de UDP (puerto 13) en localhost. \n"; } else { fwrite($fp, "\n"); echo fread($fp, 26); fclose($fp); } ?> ]]> &reftitle.notes; Los sockects UDP a veces parecerán estar abiertos sin un error, incluso si el host remoto es inalcanzable. El error sólo aparecerá cuando se lea o escriba información desde/en el socket. La razón de esto es que UDP es un protocolo no orientado a conexión, lo que significa que el sistema operativo no intenta establecer un enlace para el socket hasta que se necesite enviar o recibir informaicón. &ipv6.brackets; Dependiendo del entorno, pueden no estar disponibles el dominio Unix o el tiempo de espera opcional de la conexión. Una lista de transportes disponibles se puede recuperar unsando stream_get_transports. Véase para una lista de transportes incluidos. &reftitle.seealso; stream_socket_server stream_set_blocking stream_set_timeout stream_select fgets fgetss fwrite fclose feof