runAll
void Worker::runAll(void)
تشغيل جميع كائنات Worker.
ملحوظة:
بعد تنفيذ Worker::runAll() سيتعرض البرنامج للتوقف بشكل دائم، مما يعني أن الكود الموجود بعد Worker::runAll() لن يتم تنفيذه. يجب إنشاء جميع كائنات Worker قبل Worker::runAll().
المعلمات
لا توجد معلمات
القيم المرتجعة
لا توجد قيمة مرتجعة
المثال تشغيل عدة كائنات Worker
start.php
<?php
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$http_worker = new Worker("http://0.0.0.0:2345");
$http_worker->onMessage = function(TcpConnection $connection, $data)
{
$connection->send('hello http');
};
$ws_worker = new Worker('websocket://0.0.0.0:4567');
$ws_worker->onMessage = function(TcpConnection $connection, $data)
{
$connection->send('hello websocket');
};
// تشغيل جميع كائنات Worker
Worker::runAll();
ملحوظة:
إصدار windows من workerman لا يدعم إنشاء عدة كائنات Worker في نفس الملف.
لا يمكن تشغيل المثال أعلاه في إصدار workerman على windows.
إصدار windows من workerman يحتاج إلى وضع تهيئة كائنات Worker متعددة في ملفات مختلفة، مثل المثال أدناه
start_http.php
<?php
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$http_worker = new Worker("http://0.0.0.0:2345");
$http_worker->onMessage = function(TcpConnection $connection, $data)
{
$connection->send('hello http');
};
// تشغيل جميع كائنات Worker (هنا يوجد كائن واحد فقط)
Worker::runAll();
start_websocket.php
<?php
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$ws_worker = new Worker('websocket://0.0.0.0:4567');
$ws_worker->onMessage = function(TcpConnection $connection, $data)
{
$connection->send('hello websocket');
};
// تشغيل جميع كائنات Worker (هنا يوجد كائن واحد فقط)
Worker::runAll();