méthode send
void AsyncUdpConnection::send(string $data)
Exécute une opération de connexion asynchrone. Cette méthode renvoie immédiatement.
Paramètres
$data
Données à envoyer au serveur, la taille des données ne peut pas dépasser 65507 octets (la taille maximale de transmission d'un seul paquet UDP est de 65507 octets), sinon l'envoi échouera.
Valeur de retour
Pas de valeur de retour
Exemple
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(){
// Démarrer un client udp après 1 seconde, se connecter au port 1234 et envoyer la chaîne 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){
// Données hello renvoyées par le serveur
echo "recv $data\r\n";
// Fermer la connexion
$udp_connection->close();
};
$udp_connection->connect();
}, null, false);
};
$worker->onMessage = function(UdpConnection $connection, $data)
{
// Données reçues du client AsyncUdpConnection, renvoyer la chaîne hello
$connection->send("hello");
};
Worker::runAll();
Après exécution, affiche quelque chose de similaire à:
recv hello