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