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:2346linux下面可以支援下面指令
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中進行配置,包括:
描述 | |
---|---|
協定 | |
port | |
socket | |
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推薦教學:《
ThinkPHP
》《以上是ThinkPHP6 Workerman 基本使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!