プロトコル

要求(workerman >= 3.2.7)

説明:

string Worker::$protocol

現在の Worker インスタンスのプロトコルクラスを設定します。

注:プロトコル処理クラスは、Worker を初期化する際にリスニングパラメーターで直接指定することができます。例えば

$worker = new Worker('http://0.0.0.0:8686');

use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';

$worker = new Worker('tcp://0.0.0.0:8686');
$worker->protocol = 'Workerman\\Protocols\\Http';

$worker->onMessage = function(TcpConnection $connection, $data)
{
    var_dump($_GET, $_POST);
    $connection->send("hello");
};

// ワーカーを実行
Worker::runAll();

上のコードは下記のコードと等価です

use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';

/**
 * まずはユーザーがカスタムの \Protocols\Http プロトコルクラスを持っているか確認します。
 * もし無ければ、workerman に内蔵されているプロトコルクラス Workerman\Protocols\Http を使用します。
 */
$worker = new Worker('http://0.0.0.0:8686');

$worker->onMessage = function(TcpConnection $connection, $data)
{
    var_dump($_GET, $_POST);
    $connection->send("hello");
};

// ワーカーを実行
Worker::runAll();