(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
socket_sendto — Отправляет сообщение в сокет независимо от состояния подключения сокета
$socket,$data,$length,$flags,$address,$port = null
Функция socket_sendto() отправляет
length байтов из буфера buf
через сокет socket на порт
port на адресе address.
socketЭкземпляр класса Socket, который создали функцией socket_create().
data
Функция возьмёт данные для отправки из буфера data.
length
Функция отправит length байтов
из буфера data.
flags
Параметр flags принимает произвольную комбинацию следующих флагов,
которые соединили двоичным оператором ИЛИ — |.
MSG_OOB |
Отправить данные OOB (out-of-band, внеполосные). |
MSG_EOR |
Указывает на метку записи. Отправленные данные завершают запись. |
MSG_EOF |
Закрывает отправляющую сторону сокета и добавляет соответствующее оповещение об этом в конец отправляемых данных. Отправленные данные завершают транзакцию. |
MSG_DONTROUTE |
Не использовать маршрутизацию, использовать прямой интерфейс. |
addressIP-адрес удалённого хоста.
port
Параметр port устанавливает значение удалённого порта,
по которому функция отправит данные.
Функция socket_sendto() возвращает количество байтов,
которое отправила удалённый хост, или false, если возникла ошибка.
| Версия | Описание |
|---|---|
| 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);
?>