PHP
Referenzliste
socket_recvfrom
Socket-Funktionen
Befehl:
int socket_recvfrom ( resource $socket , string &$buf , int $len , int $flags , string &$name [, int &$port ] )
Parameter-Liste:
Beschreibung | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Ein gültiger Socket-Deskriptor, der von socket_create() oder socket_accept() erzeugt wurde. | |||||||||||
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. | |||||||||||
Maximal len Bytes werden von dem entfernten System abgerufen. | |||||||||||
Der Wert von flags kann jede beliebige Kombination der folgenden Flags sein, verknüpft mit dem binären ODER (|) Operator.
| |||||||||||
Wenn der Socket vom Typ AF_UNIX ist, enthält name den Pfad zu einer Datei. Anderenfalls, bei nicht verbundenen Sockets, enthält name die IP-Adresse des entfernten Hosts oder NULL , falls der Socket verbindungsorientiert ist. | |||||||||||
Dieses Argument gilt nur für Sockets vom Typ AF_INET und AF_INET6 und gibt den entfernten Port an, über den Daten empfangen werden. Falls der Socket verbindungsorientiert ist, ist port NULL . |
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. Beschreibung:
Die Funktion socket_recvfrom() empfängt über den Socket
Die Parameter
socket
len
Bytes von name
über den Port port
(falls der Socket nicht vom Typ AF_UNIX
ist) und liest sie in den Puffer buf
ein. socket_recvfrom() kann dazu verwendet werden, um Daten sowohl von verbundenen als auch unverbundenen Sockets zu lesen. Ausserdem können ein oder mehrere Flags gesetzt werden, um das Verhalten dieser Funktion zu beeinflussen.Die Parameter
name
und port
müsssen als Referenz übergeben werden. Wenn der Socket verbindungslos ist, wird name
auf die Internet-Protokolladresse des entfernten Host oder auf den Pfad zum UNIX-Socket gesetzt. Ist der Socket verbindungsorientiert, ist name
NULL
. Zusätzlich enthält der Parameter port
den Port des entfernten Host, falls es sich um einen nicht verbundenen AF_INET
oder AF_INET6
Socket handelt. Aktiv in Version:
(PHP 4 >= 4.1.0, PHP 5, PHP 7)
Siehe auch:
Empfängt Daten von einem verbundenen Socket
Sendet Daten an einen verbundenen Socket
Sendet eine Nachricht an einen Socket, egal ob dieser verbunden ist oder nicht
Erzeugt einen Socket (Endpunkt für die Kommunikation)
socket_recvfrom() - Beispiel:
Eingabe:
<?PHP error_reporting(E_ALL | E_STRICT); $socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); socket_bind($socket, '127.0.0.1', 1223); $from = ''; $port = 0; socket_recvfrom($socket, $buf, 12, 0, $from, $port); echo "$buf von entfernter Adresse $from über den entfernten Port $port empfangen." . PHP_EOL; ?>
Ausgabe:
Dieses Beispiel erzeugt einen UDP-Socket �ber Port 1223 des Hosts 127.0.0.1 und gibt h�chstens 12 Zeichen aus, die von einem entfernten Host empfangen wurden.
Beschreibung:
Beschreibung | |
---|---|
4.3.0 | socket_recvfrom() ist ab jetzt binary-safe. |
Socket-Funktionen