thinkphp沒有想laravel擁有broadcast的功能向图,那么需要做實時計算運用到的推送功能就需要運用插件workerman
workerman就是類似一個信號收發(fā)站跌造,例如某客戶操作之后需要服務端根據(jù)其行為向其他用戶單向推送其影響的
首先斋泄,客戶端創(chuàng)建websocket(或者在已建立websocket基礎之上)
這一步其實就是創(chuàng)建客戶端與workerman的通信,這時候workerman會給客戶端發(fā)送對應client_id
然后行施,某客戶發(fā)送請求
這一步需要客戶端向workerman發(fā)送相應指令
再然后叶骨,workerman向其他客戶推送特定指令
最后霎箍,收到指令的客戶根據(jù)指令再向服務器發(fā)送請求或者做其他的提示操作
tp6可以用composer加載workerman的擴展
composer require topthink/think-worker
在config目錄下會新增三個文件gateway_worker.php,worker.php魏保,worker_server.php
其中worker_server.php文件中的worker_class是設置workerman的入口文件的
一定要繼承think\worker\Server類熬尺,這樣才能調用onWorkerStart,onWorkerReload谓罗,onConnect粱哼,onMessage,onClose檩咱,onError方法
根據(jù)需要重寫方法~~