workerman消息推送开发

  1. 项目目录
    在这里插入图片描述
    项目业务目录可以跟worker目录分开部署在不同的服务器,worker独立部署,只负责客户端的推送消息。
  2. worker服务端修改start_gateway.php 文件。
    在这里插入图片描述
  3. tcp协议改为websocket协议,服务器注册地址是:127.0.0.1:1238 注意,后面GatewayClient连接时需要使用
    在这里插入图片描述
  4. GatewayClient文件放入项目目录
    在这里插入图片描述
  5. 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);
    }
}
  1. 需要做服务推送的时候,可向当前在线的用户推送信息。调用 GatewayClient中的方法,推送信息。

猜你喜欢

转载自blog.csdn.net/qq_39027055/article/details/84773395
今日推荐