首頁 >php框架 >ThinkPHP >ThinkPHP6 Workerman 基本使用

ThinkPHP6 Workerman 基本使用

Guanhui
Guanhui轉載
2020-05-13 09:51:159387瀏覽

Workerman

Workerman是純PHP開發的開源高效能的PHP socket 伺服器框架。廣泛的用於手機app、手遊服務端、網路遊戲伺服器、聊天室伺服器、硬體通訊伺服器、智慧家庭、車聯網、物聯網等領域的開發。支援TCP長連接,支援Websocket、HTTP等協議,支援自訂協議。基於workerman開發者可以更專注於業務邏輯開發,不必再為PHP Socket底層開發而煩惱。

安裝

先透過composer 安裝

composer require topthink/think-worker

使用

##使用Workerman作為HttpServer

在命令列啟動服務端

php think worker

然後就可以透過瀏覽器直接存取目前應用程式

http://localhost:2346

linux下面可以支援下面指令

php think worker [start|stop|reload|restart|status]

workerman的參數可以在應用程式配置目錄下的worker.php裡面配置。

由於onWorkerStart運行的時候沒有HTTP_HOST,因此最好在應用程式設定檔中設定app_host

SocketServer##在命令列啟動服務端(需要2.0.5 版本)

php think worker:server

預設會在0.0.0.0:2345開啟一個websocket服務。

如果需要自訂參數,可以在config/worker_server.php中進行配置,包括:

配置參數protocol#host##監聽位址port監聽埠socket完整的socket位址並且支援workerman所有的參數(包括全域靜態參數)。
描述
協定
也支援使用閉包方式定義相關事件回呼。

return [
    'socket'    =>  'http://127.0.0.1:8000',
    'name'      =>  'thinkphp',
    'count'     =>  4,
    'onMessage' =>  function($connection, $data) {
        $connection->send(json_encode($data));
    },
];

也支援使用自訂類別作為Worker服務入口檔案類別。例如,我們可以建立一個服務類別(必須要繼承think\worker\Server),然後設定屬性和新增回呼方法

<?php
namespace app\http;
use think\worker\Server;
class Worker extends Server
{
    protected $socket = &#39;http://0.0.0.0:2346&#39;;
    public function onMessage($connection,$data)
    {
        $connection->send(json_encode($data));
    }
}

支援workerman所有的回呼方法定義(回呼方法必須是public型別)

然後在worker_server.php中增加設定參數:

return [
    &#39;worker_class&#39;  =>  &#39;app\http\Worker&#39;,
];

定義此參數後,其它配置參數都不再有效。

在命令列啟動服務端

php think worker:server

然後在瀏覽器裡面訪問

http://localhost:2346

如果在Linux下面,同樣支援reload|restart|stop|status 操作

php think worker:server reload

推薦教學:《

ThinkPHP

》《

PHP教學》《Workerman教學

以上是ThinkPHP6 Workerman 基本使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:kancloud.cn。如有侵權,請聯絡admin@php.cn刪除