طريقة send
void AsyncUdpConnection::send(string $data)
تنفيذ عملية الاتصال غير المتزامن. ستقوم هذه الطريقة بإرجاع النتيجة على الفور.
المعلمات
$data
البيانات المرسلة إلى الخادم، يجب ألا يتجاوز حجم البيانات 65507 بايت (أقصى حجم لحزمة بيانات UDP هو 65507 بايت)، وإلا فسيحدث فشل في الإرسال.
قيمة الإرجاع
لا توجد قيمة إرجاع
مثال
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(){
// بعد 1 ثانية، قم بتشغيل عميل udp، اتصل بالمنفذ 1234 وارسل سلسلة 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){
// استلام البيانات التي أعادها الخادم hello
echo "recv $data\r\n";
// إغلاق الاتصال
$udp_connection->close();
};
$udp_connection->connect();
}, null, false);
};
$worker->onMessage = function(UdpConnection $connection, $data)
{
// استلام البيانات المرسلة من عميل AsyncUdpConnection، وأعد سلسلة hello
$connection->send("hello");
};
Worker::runAll();
بعد التنفيذ، سيتم طباعة شيء مشابه:
recv hello