前端POST請求接口文件(a.php),a.php文件連接websocket(ws_test.php),前端POST成功之后,a.php向websocket推送一個字符串(假如是success),然后websocket再將特定的字符串推送前端給指定的uid,前端不直接發(fā)送(假如是success)的原因考慮到前端暴露,規(guī)避一些惡意推送行為,這樣前端連接websocket只發(fā)心跳。目前的問題是a.php怎么和ws_test.php建立連接或者打通。
webman 使用websocket 我選了GatewayWorker,沒用插件webman/push,是因為不想vue項目里面引入push.js (有解決辦法可以留言)
webman安裝GatewayWorker教程
http://m.wtbis.cn/doc/gateway-worker/webman.html
在webman控制器使用GatewayWorker
use GatewayClient\Gateway;
public function wss(Request $request)
{
//$registerAddress 在config/plugin/webman/gateway-worker/process.php 里面設(shè)置ip和端口 默認不動
Gateway::$registerAddress = '0.0.0.0:1236';
$user_id =1;
if (Gateway::isUidOnline($user_id)) {
Gateway::sendToUid($user_id, 'user_message');
return success('在線');
} else {
return success('離線');
}
}