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:
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.