Aktueller Standort: Startseite> Funktionskategorien> socket_recvfrom

socket_recvfrom

Empfangen Sie Daten aus einem Socket, unabhängig davon, ob sie verbindungsorientiert sind oder nicht
Name:socket_recvfrom
Kategorie:Steckdosen
Programmiersprache:php
Kurzbeschreibung:Empfangen Sie Daten aus dem angegebenen Socket und speichern Sie die Adresse und den Port des Absenders in der angegebenen Variablen

Funktionsname: Socket_Recvfrom ()

Anwendbare Version: Php 4> = 4.1.0, Php 5, Php 7

Funktionsbeschreibung: Die Funktion von Socket_Recvfrom () empfängt Daten aus dem angegebenen Socket und speichert die Adresse und den Port des Absenders in der angegebenen Variablen.

Syntax: int socket_recvfrom (Ressource $ Socket, String & $ BUF, int $ len, int $ flags, String & $ Name [, int & $ port]))

Parameterbeschreibung:

  • $ Socket: Erforderlich, angegebene Socket -Ressource.
  • $ BUF: Erforderlich, Variable zum Speichern empfangener Daten.
  • $ len: Erforderlich, Angabe der maximalen Anzahl von Bytes, die empfangen werden sollen.
  • $ flags: Optional, Geben Sie das Flag zum Empfangen von Daten an, Standardeinstellung beträgt 0.
  • $ name: Erforderlich, Variable, die zum Speichern der Absenderadresse verwendet wird.
  • $ port: Optional, verwendet, um die Portvariable des Absenders zu speichern, ist der Standardwert 0.

Rückgabewert: Gibt die Anzahl der erhaltenen Bytes zurück, die beim Erfolg erfolgreich sind, und gibt beim Versagen falsch zurück.

Beispielcode:

 $socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); if ($socket === false) { echo "socket_create() failed: " . socket_strerror(socket_last_error()) . "\n"; exit; } $bind = socket_bind($socket, '0.0.0.0', 8888); if ($bind === false) { echo "socket_bind() failed: " . socket_strerror(socket_last_error($socket)) . "\n"; exit; } $buffer = ''; $senderAddress = ''; $senderPort = 0; // 接收数据并获取发送方的地址和端口$bytes = socket_recvfrom($socket, $buffer, 1024, 0, $senderAddress, $senderPort); if ($bytes === false) { echo "socket_recvfrom() failed: " . socket_strerror(socket_last_error($socket)) . "\n"; exit; } echo "Received $bytes bytes from $senderAddress:$senderPort\n"; echo "Data: $buffer\n"; socket_close($socket);

Der obige Beispielcode erstellt einen UDP -Socket und bindet an den lokalen Port 8888. Verwenden Sie dann mit der Funktion socket_recvfrom () die Daten und speichern die Adresse und den Port des Absenders in der entsprechenden Variablen. Schließlich geben Sie die empfangenen Daten, die Adresse und den Port des Absenders aus und schließen Sie den Socket.

Hinweis: Das Beispiel verwendet UDP -Sockets. Wenn Sie TCP -Steckdosen verwenden müssen, müssen Sie die Funktion von Socket_Recv () verwenden, um Daten zu empfangen.

Ähnliche Funktionen
Beliebte Artikel