phpday 2025 - Call For Papers

socket_sendto

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_sendtoEnvoie un message à un socket, qu'il soit connecté ou pas

Description

socket_sendto(
    Socket $socket,
    string $data,
    int $length,
    int $flags,
    string $address,
    ?int $port = null
): int|false

socket_sendto() envoie length octets issus du buffer data via le socket socket, vers le port port, à l'adresse address.

Liste de paramètres

socket

Une instance de Socket créée par socket_create().

data

Les données à envoyer seront prises depuis le buffer data.

length

length octets depuis data doivent être envoyés.

flags

Peut être une combinaison des drapeaux suivants, joints par un OU binaire (|).

Valeurs possibles pour flags
MSG_OOB Traite les données OOB (out-of-band).
MSG_EOR Indique un marqueur d'enregistrement. Les données envoyées complètent l'enregistrement.
MSG_EOF Termine l'envoi via le socket et inclue une notification appropriée à la fin des données envoyées. Les données envoyées complètent la transaction.
MSG_DONTROUTE Ignore le routage, utilise une interface directe.

address

L'adresse IP de l'hôte distant.

port

port est le numéro de port sur lequel les données doivent être envoyées.

Valeurs de retour

socket_sendto() retourne le nombre d'octets envoyés sur l'hôte distant ou false si une erreur survient.

Historique

Version Description
8.0.0 socket est désormais une instance de Socket ; auparavant, c'était une resource.
8.0.0 port est désormais nullable.

Exemples

Exemple #1 Exemple avec socket_sendto()

<?php
$sock
= socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);

$msg = "Ping !";
$len = strlen($msg);

socket_sendto($sock, $msg, $len, 0, '127.0.0.1', 1223);
socket_close($sock);
?>

Voir aussi

add a note

User Contributed Notes 1 note

up
1
ole_DOT_omland_AT_gmail_DOT_com
19 years ago
Here's how you can make an udp broadcast, useful sometimes, and does seem hard to figure out hwo to do..

<?php
$sock
= socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_set_option($sock, SOL_SOCKET, SO_BROADCAST, 1);
socket_sendto($sock, $broadcast_string, strlen($broadcast_string), 0, '255.255.255.255', $port);
?>
To Top