coro_channel.php 635 B

12345678910111213141516171819202122232425
  1. <?php
  2. $http = new swoole_http_server("127.0.0.1", 9501, SWOOLE_BASE);
  3. $http->set(array(
  4. 'log_file' => '/dev/null'
  5. ));
  6. use Swoole\Coroutine as co;
  7. // $http->on("WorkerStart", function (\swoole_server $serv)
  8. // {
  9. //
  10. // });
  11. $http->on('request', function (swoole_http_request $request, swoole_http_response $response)
  12. {
  13. $ch = new co\Channel(1);
  14. $out = new co\Channel(1);
  15. Swoole\Coroutine::create(function() use ($ch, $out) {
  16. $out->push("OK");
  17. $out->push("OK");
  18. });
  19. $ret = $out->pop();
  20. var_dump($ret);
  21. $ret = $out->pop();
  22. var_dump($ret);
  23. $response->end("$ret\n");
  24. });
  25. $http->start();