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:
Beschreibung | |
---|---|
Der Server-Socket eine Verbindung von zu akzeptieren. | |
Wird auf der System-Ebene Fehler Nummer eingestellt werden, wenn die Verbindung ausfällt. | |
Wird auf der System-Ebene Fehlermeldung gesetzt werden, wenn die Verbindung ausfällt. | |
Anzahl der Sekunden, bis die connect() System Aufruf sollte Timeout. | |
Bitmask 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 . | |
Ein 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
• fgetss()
Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
• fwrite()
Schreibt Binärdaten in eine Datei
• fclose()
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