Método send

void AsyncUdpConnection::send(string $data)

Ejecuta una operación de conexión asíncrona. Este método devolverá de inmediato.

Parámetros

$data
Los datos que se enviarán al servidor, el tamaño de los datos no puede exceder de 65507 bytes (el tamaño máximo de un paquete de datos UDP es de 65507 bytes), de lo contrario, el envío fallará.

Valor de retorno

Sin valor de retorno

Ejemplo

use Workerman\Worker;
use Workerman\Timer;
use Workerman\Connection\AsyncUdpConnection;
use Workerman\Connection\UdpConnection;
require_once __DIR__ . '/vendor/autoload.php';

$worker = new Worker('udp://0.0.0.0:1234');
$worker->onWorkerStart = function(){
    // Iniciar un cliente UDP 1 segundo después, conectar al puerto 1234 y enviar la cadena hi
    Timer::add(1, function(){
        $udp_connection = new AsyncUdpConnection('udp://127.0.0.1:1234');
        $udp_connection->onConnect = function(AsyncUdpConnection $udp_connection){
            $udp_connection->send('hi');
        };
        $udp_connection->onMessage = function(AsyncUdpConnection $udp_connection, $data){
            // Recibidos los datos devueltos del servidor hello
            echo "recv $data\r\n";
            // Cerrar la conexión
            $udp_connection->close();
        };
        $udp_connection->connect();
    }, null, false);
};
$worker->onMessage = function(UdpConnection $connection, $data)
{
    // Recibidos los datos enviados desde el cliente AsyncUdpConnection, retornar la cadena hello
    $connection->send("hello");
};
Worker::runAll();             

Al ejecutarse, imprimirá algo como:

recv hello