您好,登錄后才能下訂單哦!
小編給大家分享一下ThinkPHP6中怎么使用Workerman,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
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 = 'http://0.0.0.0:2346'; public function onMessage($connection,$data) { $connection->send(json_encode($data)); } }
支持workerman所有的回調方法定義(回調方法必須是public類型)
然后在worker_server.php中增加配置參數:
return [ 'worker_class' => 'app\http\Worker', ];
定義該參數后,其它配置參數均不再有效。
在命令行啟動服務端
php think worker:server
然后在瀏覽器里面訪問
http://localhost:2346
如果在Linux下面,同樣支持reload|restart|stop|status 操作
php think worker:server reload
看完了這篇文章,相信你對“ThinkPHP6中怎么使用Workerman”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。