Aktueller Standort: Startseite> Funktionskategorien> stream_socket_recvfrom

stream_socket_recvfrom

Empfangen Sie Daten von einem angeschlossenen oder nicht vernetzten Socket
Name:stream_socket_recvfrom
Kategorie:Strom
Programmiersprache:php
Kurzbeschreibung:Empfangen Sie Daten aus dem Socket und geben Sie die empfangenen Daten zurück

Funktionsname: stream_socket_recvfrom ()

Funktionsbeschreibung: Die Funktion Stream_socket_recvfrom () empfängt Daten aus dem Socket und gibt die empfangenen Daten zurück.

Anwendbare Version: Php 5> = 5.3.0, Php 7

Syntax: Stream_Socket_Recvfrom (Ressource $ Socket, int $ Länge [, int $ flags = 0 [, String & $ Adresse]]): String | Falsch

Parameter:

  • $ socket: Erforderlich repräsentiert eine offene Socket -Ressource, die über die Funktion stream_socket_client () oder stream_socket_server () erstellt werden kann.
  • $ Länge: Erforderlich, wobei die maximale Datenlänge angezeigt werden, die empfangen werden soll.
  • $ flags: optional, verwendet, um zusätzliche Optionen beim Empfangen von Daten anzugeben.
  • $ Adresse: Optional, verwendet, um die IP -Adresse und die Portnummer des Absenders zu speichern.

Rückgabewert: Gibt die empfangenen Daten bei erfolgreichem zurück und gibt beim Fehler falsche zurück.

Beispiel:

  1. Daten empfangen und drucken:

$ socket = stream_socket_client ("udp: //127.0.0.1: 1234", $ errno, $ errstr); if (! $ socket) {echo "Verbindung fehlgeschlagen: $ errstr ($ errno)"; } else {$ data = stream_socket_recvfrom ($ socket, 1024); Echo "Empfangene Daten: $ data"; fcLose ($ socket); }

  1. Empfangen Sie Daten und erhalten Sie die IP -Adresse und die Portnummer des Absenders:

$ socket = stream_socket_server ("udp: //127.0.0.1: 1234", $ errno, $ errstr, stream_server_bind); if (! } else {$ client = stream_socket_accept ($ socket); $ data = stream_socket_recvfrom ($ client, 1024, 0, $ address); Echo "Empfangene Daten: $ data"; echo "Absenderadresse: $ Adresse"; fcLose ($ client); fcLose ($ socket); }

Anmerkungen:

  • Die Funktion von Stream_Socket_Recvfrom () ist nur für Transportprotokolle geeignet, die Stream -Sockets (z. B. TCP, UDP) unterstützen.
  • Wenn Sie das UDP -Protokoll verwenden, müssen Sie beim Erstellen des Socket das Protokollpräfix "UDP: //" angeben.
  • Wenn der Parameter $ adresse angegeben ist, speichert die Funktion die IP -Adresse und die Portnummer des Absenders in der Variablen.
  • Der Parameter $ Länge gibt die maximale Datenlänge an, die empfangen werden soll. Wenn die empfohlene tatsächliche Datenlänge diesen Wert überschreitet, werden nur ein Teil der Daten zurückgegeben.
  • Der Parameter $ flags kann verwendet werden, um Optionen beim Empfangen von Daten anzugeben. Zu den gemeinsamen Optionen gehören msg_waitall (warten Sie, bis die Daten der angegebenen Länge empfangen werden) und MSG_DONTWAIT (Nicht-Blocking-Modus).
  • Bevor Sie Daten empfangen, müssen Sie eine Socket -Ressource erstellen, die mit den Funktionen von Stream_Socket_Client () oder Stream_Socket_Server () erstellt werden kann.
Ähnliche Funktionen
Beliebte Artikel