- 项目目录
项目业务目录可以跟worker目录分开部署在不同的服务器,worker独立部署,只负责客户端的推送消息。
- worker服务端修改start_gateway.php 文件。
- tcp协议改为websocket协议,服务器注册地址是:127.0.0.1:1238 注意,后面GatewayClient连接时需要使用
- GatewayClient文件放入项目目录
- index控制器引入GatewayClient
<?php
namespace app\index\controller;
require_once 'Gateway.php';
// GatewayClient 3.0.0版本开始要使用命名空间
use GatewayClient\Gateway;
class Index
{
public function index()
{
// 设置GatewayWorker服务的Register服务ip和端口,请根据实际情况改成实际值(ip不能是0.0.0.0)
Gateway::$registerAddress = '127.0.0.1:1238';
$data = '99999';
$uid = '7f0000010b5400000001';
$res = Gateway::sendToClient($uid, $data);
print_r($res);
// Gateway::sendToAll($data);
// 向任意uid的网站页面发送数据
// Gateway::sendToUid($uid, $message);
// // 向任意群组的网站页面发送数据
// Gateway::sendToGroup($group, $message);
}
}
- 需要做服务推送的时候,可向当前在线的用户推送信息。调用 GatewayClient中的方法,推送信息。