🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 构造函数 \_\_construct ## 说明: ~~~ Worker::__construct([string $listen]) ~~~ 初始化一个Worker容器实例,可以设置容器的一些属性和回调接口,完成特定功能。 ## 参数 #### **`$listen`**(必选参数,不填写表示不监听任何端口) >[danger] 在Workerman中listen是可填,并且WarriorMan只支持TCP和UDP协议 > 想使用HTTP等应用层协议请阅读 [通讯协议](https://www.kancloud.cn/book/wwwoooshizha/warriorman/edit) 章节 $listen 的格式为 <协议>://<监听地址> 例如 ***** tcp: 例如`tcp://0.0.0.0:8686` udp: 例如`udp://0.0.0.0:8686` ***** ## 例子 Worker作为http容器监听处理http请求 ~~~ <?php use Workerman\Worker; require_once 'Workerman/Autoloader.php'; Warriorman\Worker::rename(); // 将Workerman改为Workerman Warriorman\Runtime::enableCoroutine(); // hook相关函数 $http_worker= new Worker("tcp://0.0.0.0:8080"); $http_worker->protocol = "\Workerman\Protocols\Http"; $http_worker->onMessage = function ($connection, $data) { $connection->send('hello world'); }; Worker::runAll(); ~~~ ## 运行 打开终端,进入到php脚本所在目录,执行`php test.php start` ~~~ php test.php start Workerman[test.php] start in DEBUG mode ----------------------- WORKERMAN ----------------------------- Workerman version:3.2.7 PHP version:5.4.37 ------------------------ WORKERS ------------------------------- user worker listen processes status root none tcp://0.0.0.0:8080 4 [OK] ---------------------------------------------------------------- Press Ctrl-C to quit. Start success. ~~~