runAll
void Worker::runAll(void)
Tüm Worker örneklerini çalıştırır.
Dikkat:
Worker::runAll() çalıştırıldıktan sonra sürekli olarak engellenecektir, yani Worker::runAll() fonksiyonundan sonraki kodlar çalıştırılmayacaktır. Tüm Worker örneklemeleri Worker::runAll() fonksiyonundan önce gerçekleştirilmelidir.
Parametre
Parametre yok
Dönüş Değeri
Dönüş yok
Örnek: Birden fazla Worker örneğini çalıştırma
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');
};
// Tüm Worker örneklerini çalıştırma
Worker::runAll();
Not:
Windows versiyonu Workerman'da aynı dosyada birden fazla Worker örneği oluşturulamaz.
Yukarıdaki örnek, Windows versiyonu Workerman'da çalıştırılamaz.
Windows versiyonu Workerman'da birden fazla Worker örneği oluşturmak için aşağıdaki gibi farklı dosyalara yerleştirilmelidir:
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');
};
// Tüm Worker örneklerini çalıştırma (sadece bir örnek burada)
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');
};
// Tüm Worker örneklerini çalıştırma (sadece bir örnek burada)
Worker::runAll();