PHP 8.6.0 Beta 1 is available for testing

socket_sendto

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

socket_sendtoОтправляет сообщение в сокет независимо от состояния подключения сокета

Описание

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

Функция socket_sendto() отправляет length байтов из буфера buf через сокет socket на порт port на адресе address.

Список параметров

socket

Экземпляр класса Socket , который создали функцией socket_create() .

data

Функция возьмёт данные для отправки из буфера data.

length

Функция отправит length байтов из буфера data.

flags

Параметр flags принимает произвольную комбинацию следующих флагов, которые соединили двоичным оператором ИЛИ — |. Возможные значения флагов flags

MSG_OOB Отправить данные OOB (out-of-band, внеполосные).
MSG_EOR Указывает на метку записи. Отправленные данные завершают запись.
MSG_EOF Закрывает отправляющую сторону сокета и добавляет соответствующее оповещение об этом в конец отправляемых данных. Отправленные данные завершают транзакцию.
MSG_DONTROUTE Не использовать маршрутизацию, использовать прямой интерфейс.

address

IP-адрес удалённого хоста.

port

Параметр port устанавливает значение удалённого порта, по которому функция отправит данные.

Возвращаемые значения

Функция socket_sendto() возвращает количество байтов, которое отправила удалённый хост, или false , если возникла ошибка.

Список изменений

Версия Описание
8.5.0 Теперь выбрасывает исключение ValueError , когда параметр port меньше 0 или больше 65535.
8.0.0 Параметр socket теперь принимает объект Socket ; раньше принимался тип resource .
8.0.0 Параметр port теперь принимает значение null .

Примеры

Пример #1 Пример отправки данных функцией socket_sendto()

<?php
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
$msg = "Пинг !";
$len = strlen($msg);
socket_sendto($sock, $msg, $len, 0, '127.0.0.1', 1223);
socket_close($sock);
?>

Смотрите также

  • socket_send() - Отправляет данные в подсоединённый сокет

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей 1 note

up
0
ole_DOT_omland_AT_gmail_DOT_com
20 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);
?>
+Добавить

AltStyle によって変換されたページ (->オリジナル) /