protocol

要求(workerman >= 3.2.7)

说明:

  1. string Worker::$protocol

设置当前Worker实例的协议类。

注:协议处理类可以直接在初始化Worker在监听参数时直接指定。例如

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

范例

  1. use Workerman\Worker;
  2. use Workerman\Connection\TcpConnection;
  3. require_once __DIR__ . '/vendor/autoload.php';
  4. $worker = new Worker('tcp://0.0.0.0:8686');
  5. $worker->protocol = 'Workerman\\Protocols\\Http';
  6. $worker->onMessage = function(TcpConnection $connection, $data)
  7. {
  8. var_dump($_GET, $_POST);
  9. $connection->send("hello");
  10. };
  11. // 运行worker
  12. Worker::runAll();

以上代码等价于下面代码

  1. use Workerman\Worker;
  2. use Workerman\Connection\TcpConnection;
  3. require_once __DIR__ . '/vendor/autoload.php';
  4. /**
  5. * 首先会查看用户是否有自定义\Protocols\Http协议类,
  6. * 如果没有使用workerman内置协议类Workerman\Protocols\Http
  7. */
  8. $worker = new Worker('http://0.0.0.0:8686');
  9. $worker->onMessage = function(TcpConnection $connection, $data)
  10. {
  11. var_dump($_GET, $_POST);
  12. $connection->send("hello");
  13. };
  14. // 运行worker
  15. Worker::runAll();