Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

stream_socket_client

Stream Funktionen

    Befehl:
resource stream_socket_client ( string $remote_socket [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") [, int $flags = STREAM_CLIENT_CONNECT [, resource $context ]]]]] )


    Parameter-Liste:
NameBeschreibung
remote_socketDer Server-Socket eine Verbindung von zu akzeptieren.
errnoWird auf der System-Ebene Fehler Nummer eingestellt werden, wenn die Verbindung ausfällt.
errstrWird auf der System-Ebene Fehlermeldung gesetzt werden, wenn die Verbindung ausfällt.
timeoutAnzahl der Sekunden, bis die connect() System Aufruf sollte Timeout.
flagsBitmask Feld, das kann zu einer beliebigen Kombination von Anschluss-Flags gesetzt werden. Derzeit ist die Auswahl der Verbindung Fahnen auf STREAM_CLIENT_CONNECT beschränkt (Standard), STREAM_CLIENT_ASYNC_CONNECT und STREAM_CLIENT_PERSISTENT.
contextEin gültiger Kontext Ressource erstellt mit stream_context_create().

    Beschreibung:
Initiiert einen Stream oder Datagramm-Verbindung zu dem Ziel durch remote_socket angegeben. Transport ://target: Die Art der Socket erstellt wird durch die Verwendung von Standard-Transport angegebenen URL Formatierung bestimmt. Für Internet-Domain-Sockets (AF_INET) wie TCP und UDP, das Ziel des remote_socket Parameter sollte aus einem Hostnamen oder die IP-Adresse von einem Doppelpunkt und eine Port-Nummer bestehen. Für Unix-Domain-Sockets, sollte das Ziel Teil der Socket-Datei auf dem Dateisystem verweisen.


    Aktiv in Version:
(PHP 5, PHP 7)

    Hinweis:
Hinweis:

Wenn Sie eine numerische IPv6-Adresse angeben, z.B. fe80::1, müssen Sie die IP in eckige Klammern schreiben, z.B. tcp://[fe80::1]:80.

Abhängig von der Umgebung kann die Unix-Domain oder die optionale Verbindungszeitlimit nicht zur Verfügung. Eine Liste der verfügbaren Transporte können abgerufen werden unter Verwendung stream_get_transports(). Siehe Liste der unterstützten Socket-Transporter für eine Liste von in Transporte gebaut.


    Warnung:
Warnung:

UDP-Sockets werden manchmal ohne Fehler geöffnet haben, auch wenn der Remote-Host nicht erreichbar ist. Der Fehler wird erst deutlich, wenn Sie lesen oder schreiben Daten in / aus der Steckdose. Der Grund dafür ist, dass UDP ist ein "verbindungslos"-Protokoll, was bedeutet, dass das Betriebssystem nicht versuchen, eine Verbindung zum Socket herzustellen, solange es tatsächlich zum Senden oder Empfangen von Daten bedeutet.


    Siehe auch:
Erstellen Sie eine Internet-oder Unix-Domain-Server-Socket
 
Set Sperrung / Non-Blocking-Modus auf einem Stream
 
Timeout-Zeitraum auf einen Stream
 
•  fgets()
Liest eine Zeile von der Position des Dateizeigers
 
Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
 
Schreibt Binärdaten in eine Datei
 
Schliesst einen offenen Dateizeiger
 
•  feof()
Prüft, ob ein Dateizeiger am Ende der Datei steht
 
Führt das Äquivalent der select ()-System auf den gegebenen Anordnungen von Streams mit einem Timeout von tv_sec und tv_usec angegeben
 

stream_socket_client() - Beispiel:


Eingabe:
<?php
$fp = stream_socket_client("tcp://www.example.com:80", $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\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);
}
?>

stream_socket_client() - Beispiel 2:


Eingabe:
<?php
$fp = stream_socket_client("udp://127.0.0.1:13", $errno, $errstr);
if (!$fp) {
    echo "ERROR: $errno - $errstr<br />\n";
} else {
    fwrite($fp, "\n");
    echo fread($fp, 26);
    fclose($fp);
}
?>

Stream Funktionen