Rechercher une fonction PHP

socket_recv

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

socket_recvEmpfängt Daten von einem verbundenen Socket

Beschreibung

socket_recv ( resource $socket , string &$buf , int $len , int $flags ) : int

Die socket_recv() Funktion empfängt len Bytes Daten in buf von socket. socket_recv() kann genutzt werden, um Daten von verbundenen Sockets zu lesen. Zusätzlich können einer oder mehrere Flags angegeben werden, um das Verhalten der Funktion zu modifizieren.

buf wird als Referenz übergeben, daher muss er als Variable in der Liste der Argumente angegeben werden. Gelesene Daten von socket durch socket_recv() werden in buf zurückgegeben.

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Parameter-Liste

socket

Der socket muss eine socket Ressource sein, die zuvor mit socket_create() erzeugt wurde.

buf

Empfangene Daten werden in die Variable geschrieben, die durch buf spezifiziert ist. Tritt ein Fehler auf, wird die Verbindung zurückgesetzt oder, wenn keine Daten verfügbar sind, wird buf auf NULL gesetzt.

len

Maximal len Bytes werden von dem entfernten System abgerufen.

flags

Der Wert von flags kann jede beliebige Kombination der folgenden Flags sein, verknüpft mit dem binären ODER (|) Operator.

Mögliche Werte von flags
Flag Beschreibung
MSG_OOB Verarbeite bandexterne (out-of-band) Daten.
MSG_PEEK Lies Daten ab Anfang der Empfangs-Warteschlange, ohne die Daten aus der Warteschlange zu löschen.
MSG_WAITALL Blockiere so lange, bis mindestens len Daten gelesen wurden. Wenn jedoch ein Signal empfangen wurde oder der entfernte Host die Verbindung beendet, kann die Funktion auch weniger Daten zurückgeben.
MSG_DONTWAIT Wenn dieses Flag gesetzt ist, kehrt die Funktion zurück, auch wenn sie normalerweise blockieren würde.

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Rückgabewerte

socket_recvfrom() gibt die Anzahl der empfangenen Bytes zurück oder FALSE, falls ein Fehler auftrat. Der aktuelle Fehlercode kann mit socket_last_error() abgefragt werden. Dieser Fehlercode kann an die Funktion socket_strerror() übergeben werden, um eine textuelle Beschreibung des Fehlers zu erhalten.

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Beispiele

Beispiel #1 socket_recv() Beispiel

Dies ist eine einfache Umformulierung des ersten Beispieles von Beispiele unter Nutzung von socket_recv().

<?php
error_reporting
(E_ALL);

echo 
"<h2>TCP/IP Verbindung</h2>\n";

/* Erhalte Port für den WWW Service. */
$service_port getservbyname('www''tcp');

/* Erhalte die IP Adresse des Ziel Hosts. */
$address gethostbyname('www.example.com');

/* Erzeuge ein TCP/IP Socket. */
$socket socket_create(AF_INETSOCK_STREAMSOL_TCP);
if (
$socket === false) {
    echo 
"socket_create() schlug fehl: Grund: " socket_strerror(socket_last_error()) . "\n";
} else {
    echo 
"OK.\n";
}

echo 
"Versuche Verbing zu '$address' auf Port '$service_port' aufzubauen...";
$result socket_connect($socket$address$service_port);
if (
$result === false) {
    echo 
"socket_connect() schulg fehl.\nGrund: ($result) " socket_strerror(socket_last_error($socket)) . "\n";
} else {
    echo 
"OK.\n";
}

$in "HEAD / HTTP/1.1\r\n";
$in .= "Host: www.example.com\r\n";
$in .= "Connection: Close\r\n\r\n";
$out '';

echo 
"Sende HTTP HEAD Request...";
socket_write($socket$instrlen($in));
echo 
"OK.\n";

echo 
"Lese Response:\n\n";
$buf 'Dies ist mein Puffer.';
if (
false !== ($bytes socket_recv($socket$buf2048MSG_WAITALL))) {
    echo 
"Las $bytes bytes von socket_recv(). Schliesse Socket...";
} else {
    echo 
"socket_recv() schlug fehl; Grund: " socket_strerror(socket_last_error($socket)) . "\n";
}
socket_close($socket);

echo 
$buf "\n";
echo 
"OK.\n\n";
?>

Obiges Beispiel erzeugt eine Ausgabe ähnlich wie:

<h2>TCP/IP Verbindung</h2>
OK.
Versuche Verbing zu '208.77.188.166' auf Port '80' aufzubauen...OK.
Sende HTTP HEAD Request...OK.
Lese Response:

Las 123 bytes von socket_recv(). Schliesse Socket...HTTP/1.1 200 OK
Date: Mon, 14 Sep 2009 08:56:36 GMT
Server: Apache/2.2.3 (Red Hat)
Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT
ETag: "b80f4-1b6-80bfd280"
Accept-Ranges: bytes
Content-Length: 438
Connection: close
Content-Type: text/html; charset=UTF-8

OK.

Finde eine PHP-Funktion

Deutsche Übersetzung

Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.

Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.

Vielen Dank im Voraus.

Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-function.socket-recv.html

Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.

Referenzen

  1. Zeigen Sie - html-Dokument Sprache des Dokuments:fr Manuel PHP : http://php.net

Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.

Inhaltsverzeichnis Haut