English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A função fsockopen() abre uma conexão de rede ou uma conexão de soquete Unix.
resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout")]]]] )
Usado para abrir conexões de soquete de domínio Internet ou Unix.
Inicializar uma conexão de soquete conectada ao host especificado (hostname).
O PHP suporta a seguinte lista de tipos de transportadores de soquete: Lista de transportadores de soquete (Socket Transports) suportados. Também pode obter os tipos de suporte de transportadores de soquete usando stream_get_transports().
Padrãomente, a conexão de soquete será aberta em modo bloqueante. Claro, você pode convertê-lo para modo não-bloqueado usando stream_set_blocking().
stream_socket_client() é muito semelhante e oferece configurações de parâmetros mais ricas, incluindo modo não-bloqueado e configurações de contexto.
fsockopen() retornará um descritor de arquivo, que pode ser usado por outras funções de classe de arquivo (por exemplo: fgets(), fgetss(), fwrite(), fclose() e feof()). Se a chamada falhar, retornará FALSE.
Aviso: Se o hostname não for acessível, será lançado um erro de nível de aviso (E_WARNING).
Número | Parâmetros e descrições |
---|---|
1 | hostname Se o OpenSSL estiver instalado, você talvez precise adicionar o protocolo de acesso ssl: antes do endereço do nome do host.//ou tls://, então pode usar o TCP baseado:/O cliente de conexão SSL ou TLS do protocolo IP conecta-se ao host remoto. |
2 | port Número da porta. Se passar um valor para esse parâmetro:-1Se não for especificado o número da porta, por exemplo unix://. |
3 | errno Salve o número de erro de nível do sistema ocorrido na chamada de connect() de nível do sistema. |
4 | errstr As informações de erro serão retornadas como uma string. |
5 | timeout Configure o limite de tempo da conexão, a unidade é segundo. |
Experimente o exemplo a seguir
<?php $connection = fsockopen("pt.oldtoolbag.com", 80, $errno, $errstr, 30); if (!$connection) { echo "$errstr ($errno) \n"; }else { $out = "GET / HTTP/1.1\r\n"; $out .= "Host: pt.oldtoolbag.com\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($connection, $out); while (!feof($connection)) { echo fgets($connection, 128); } fclose($connection); } ?>
A exemplo a seguir abre a conexão