stream_get_transports în PHP

Stream-uri PHP 5.0+

Returnează tipurile de socket pe care le acceptă stream_socket_client și fsockopen (tcp, udp, unix, ssl, tls...).

Sintaxă
stream_get_transports(): array

Ce face stream_get_transports

Adresele date lui stream_socket_client și stream_socket_server încep cu un transport: tcp://, udp://, unix:// sau, cu OpenSSL, ssl:// și tls://. stream_get_transports spune ce transporturi sunt disponibile.

Ce returnează

Un tablou cu numele transporturilor.

Exemple

Exemplul 1: Transporturi disponibile

<?php
$transporturi = stream_get_transports();

foreach (["tcp", "udp", "unix", "tls"] as $nume) {
    echo $nume . ": " . (in_array($nume, $transporturi) ? "da" : "nu") . "\n";
}

Rezultat

tcp: da
udp: da
unix: da
tls: da

Greșeli frecvente

  • Confunzi transporturile cu wrapperele. http nu este transport, ci wrapper (vezi stream_get_wrappers). Transportul de sub el este tcp sau tls.

Comenzi înrudite

  • stream_get_wrappers: Returnează lista protocoalelor pe care funcțiile de fișier le înțeleg (file, http, https, php, data, phar…).
  • stream_socket_client: Deschide o conexiune către un server dată ca adresă completă (tcp://, udp://, tls://, unix://) și o returnează ca stream.
  • fsockopen / pfsockopen: Deschide o conexiune TCP (sau UDP, SSL) către un server și o returnează ca stream, pentru fwrite și fgets.