ConFoo 2025

socket_sendto

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

socket_sendtoEnvia uma mensagem para um soquete, esteja ele conectado ou não

Descrição

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

A função socket_sendto() envia o número de bytes especificado em length a partir dos dados informados em data através do soquete socket para a porta definida em port no endereço address.

Parâmetros

socket

Uma instância de Socket criada usando socket_create().

data

Os dados serão enviados a partir do buffer definido em data.

length

O número de bytes definido em length a partir dos dados em data será enviado.

flags

O valor de flags pode ser qualquer combinação das opções a seguir, combinadas com o operador binário OR (|).

Valores possíveis para flags
MSG_OOB Envia dados OOB (fora-de-banda).
MSG_EOR Indica uma marca de registro. Os dados enviados completam o registro.
MSG_EOF Fecha o lado do remetente do soquete e inclui uma notificação apropriada no final dos dados enviados. Os dados enviados completam a transação.
MSG_DONTROUTE Ignora o roteamento, usa interface direta.

address

Endereço IP do servidor remoto.

port

port é o número da porta remota para a qual os dados serão enviados.

Valor Retornado

socket_sendto() retorna o número de bytes enviados para o servidor remoto ou false se ocorrer um erro.

Registro de Alterações

Versão Descrição
8.0.0 O parâmetro socket agora espera uma instância de Socket; anteriormente, um resource era esperado.
8.0.0 port agora pode ser nulo.

Exemplos

Exemplo #1 Exemplo de 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);
?>

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês) 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