朝阳市做网站的公司,集约化网站群建设,天元建设集团有限公司 李增启,找源码的网站1.安装Workerman 首先在laravel根目录下安装Workerman 命令:$ composer require workerman/gateway-worker 2.创建 Workerman 启动文件 创建一个 artisan 命令行工具来启动 Socket 服务端#xff0c;在 app/Console/Commands 目录下建立命令行文件。 ?php namespaceApp\C…1.安装Workerman 首先在laravel根目录下安装Workerman 命令:$ composer require workerman/gateway-worker 2.创建 Workerman 启动文件 创建一个 artisan 命令行工具来启动 Socket 服务端在 app/Console/Commands 目录下建立命令行文件。 ?php namespaceApp\Console\Commands;useGatewayWorker\BusinessWorker;useGatewayWorker\Gateway;useGatewayWorker\Register;useIlluminate\Console\Command;useWorkerman\Worker;classWorkermanCommandextendsCommand{protected$signatureworkman {action} {--d};protected$descriptionStart a Workerman server.;publicfunctionhandle(){global$argv;$action$this-argument(action);$argv[0]wk;$argv[1]$action;$argv[2]$this-option(d)?-d:;$this-start();}privatefunctionstart(){$this-startGateWay();$this-startBusinessWorker();$this-startRegister();Worker::runAll();}privatefunctionstartBusinessWorker(){$workernewBusinessWorker();$worker-nameBusinessWorker;$worker-count1;$worker-registerAddress127.0.0.1:1236;$worker-eventHandler \App\Workerman\Events::class;}privatefunctionstartGateWay(){$gatewaynewGateway(websocket://0.0.0.0:2346);$gateway-nameGateway;$gateway-count1;$gateway-lanIp127.0.0.1;$gateway-startPort2300;$gateway-pingInterval30;$gateway-pingNotResponseLimit0;$gateway-pingData{type:heart};$gateway-registerAddress127.0.0.1:1236;}privatefunctionstartRegister(){newRegister(text://0.0.0.0:1236);}} 3.创建事件监听文件 创建一个 app/Workerman/Events.php 文件来监听处理 workman 的各种事件。 ?php namespaceApp\Workerman;classEvents{publicstaticfunctiononWorkerStart($businessWorker){}publicstaticfunctiononConnect($client_id){}publicstaticfunctiononWebSocketConnect($client_id,$data){}publicstaticfunctiononMessage($client_id,$message){}publicstaticfunctiononClose($client_id){}} 4. 启动 Workerman 服务端 在命令行里面执行支持的命令大概有 start|stop|restart其中 -d 的意思是 daemon 模式。 $ php artisan workman start -d 当你看到如下结果的时候workman 已经启动成功了。 Workerman[wk] start in DEBUG mode -----------------------WORKERMAN----------------------------- Workerman version:3.5.11PHP version:7.1.11------------------------WORKERS------------------------------- user worker listen processes status root Gateway websocket://0.0.0.0:2346 1 [OK] root BusinessWorker none 1[OK] root Register text://0.0.0.0:1236 1 [OK]---------------------------------------------------------------- Press CtrlC to stop. Start success. onWorkerStart ?phpnamespaceApp\Console\Commands;useGatewayWorker\BusinessWorker;useGatewayWorker\Gateway;useGatewayWorker\Register;useIlluminate\Console\Command;useWorkerman\Worker;classWorkermanCommandextendsCommand{protected$signatureworkman {action} {--d};protected$descriptionStart a Workerman server.;publicfunctionhandle(){global$argv;$action$this-argument(action);$argv[0]wk;$argv[1]$action;$argv[2]$this-option(d)?-d:;$this-start();}privatefunctionstart(){$this-startGateWay();$this-startBusinessWorker();$this-startRegister();Worker::runAll();}privatefunctionstartBusinessWorker(){$workernewBusinessWorker();$worker-nameBusinessWorker;$worker-count1;$worker-registerAddress127.0.0.1:1236;$worker-eventHandler \App\Workerman\Events::class;}privatefunctionstartGateWay(){$gatewaynewGateway(websocket://0.0.0.0:2346);$gateway-nameGateway;$gateway-count1;$gateway-lanIp127.0.0.1;$gateway-startPort2300;$gateway-pingInterval30;$gateway-pingNotResponseLimit0;$gateway-pingData{type:heart};$gateway-registerAddress127.0.0.1:1236;}privatefunctionstartRegister(){newRegister(text://0.0.0.0:1236);}}转载于:https://www.cnblogs.com/MoMeak123/p/10885901.html