Nom de la fonction: socket_recvfrom ()
Version applicable: PHP 4> = 4.1.0, PHP 5, PHP 7
Fonction Description: La fonction socket_recvfrom () reçoit des données de la prise spécifiée et stocke l'adresse et le port de l'expéditeur dans la variable spécifiée.
Syntaxe: int socket_recvfrom (ressource $ socket, string & $ buf, int $ len, int $ drapeau, string & $ name [, int & $ port]))
Description du paramètre:
Valeur de retour: renvoie le nombre d'octets reçus lors du succès et renvoie faux en cas d'échec.
Exemple de code:
$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);
L'exemple de code ci-dessus crée une prise UDP et se lie au port local 8888. Ensuite, utilisez la fonction socket_recvfrom () pour recevoir les données et stockez l'adresse et le port de l'expéditeur dans la variable correspondante. Enfin, sortez les données reçues, l'adresse et le port de l'expéditeur, et fermer la prise.
Remarque: L'exemple est l'utilisation de sockets UDP. Si vous devez utiliser des sockets TCP, vous devez utiliser la fonction socket_recv () pour recevoir des données.