socket_sendto

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

socket_sendtoEnvía un mensaje a un socket, ya esté conectado o no

Descripción

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

socket_sendto() envía length octetos del buffer data a través del socket socket, hacia el puerto port, a la dirección address.

Parámetros

socket

Una instancia de Socket creada por socket_create().

data

Los datos a enviar serán tomados del buffer data.

length

length octetos de data deben ser enviados.

flags

Puede ser una combinación de los siguientes flags, unidos por un OR a nivel de bits (|).

Valores posibles para flags
MSG_OOB Trata los datos OOB (out-of-band).
MSG_EOR Indica un marcador de registro. Los datos enviados completan el registro.
MSG_EOF Termina el envío a través del socket e incluye una notificación apropiada al final de los datos enviados. Los datos enviados completan la transacción.
MSG_DONTROUTE Ignora el enrutamiento, usa una interfaz directa.

address

La dirección IP del host remoto.

port

port es el número de puerto al cual los datos deben ser enviados.

Valores devueltos

socket_sendto() devuelve el número de octetos enviados al host remoto o false si ocurre un error.

Historial de cambios

Versión Descripción
8.0.0 socket is a Socket instance now; previously, it was a resource.
8.0.0 port ahora es nullable.

Ejemplos

Ejemplo #1 Ejemplo con 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);
?>

Ver también

add a note

User Contributed Notes 1 note

up
0
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