Trident在本地如何使用

本章是刨析Trident的三层都部署在同一台机器上时, 如何使用。

使用方法

使用时调用Trident的接口即可。

//----------引入MeepoPS----------
require_once 'MeepoPS/index.php';

//使用基于三层网络模型的文本传输的Api类。
//Trident类的第一个参数, 是常用接口的名称。比如在之前我们接触过的接口有Telnet、Http、WebSocket等。
//第二个和第三个参数就是监听的IP和端口。这个IP和端口是暴露在外, 给普通用户链接与使用的。
$trident = new \MeepoPS\Api\Trident('telnet', '0.0.0.0', '19910');

//配置Confluence层
$trident->confluenceIp = '0.0.0.0';
$trident->confluencePort = '19911';
$trident->confluenceInnerIp = '127.0.0.1';

//配置Transfer层
$trident->transferInnerIp = '0.0.0.0';
$trident->transferInnerPort = '19912';
$trident->transferChildProcessCount = 3;

//配置Business层
$trident->businessChildProcessCount = 3;

//设置收到新消息后的回调函数。业务逻辑, 自行编写即可
//例如客户端消息格式: {"type":"SEND_ALL", "content":"hello world"}
$trident->callbackNewData = function($connect, $data){
    $data = json_decode($data, true);
    if(empty($data['type'])){
        return;
    }
    $data['type'] = strtoupper($data['type']);
     switch($data['type']){
         case 'SEND_ALL':
             if(empty($data['content'])){
                 return;
             }
             $message = '收到群发消息: ' . $data['content'];
             \MeepoPS\Core\Trident\AppBusiness::sendToAll($message);
             break;
         case 'SEND_ONE':
             $message = '收到私聊消息: ' . $data['content'] . '(From: ' . $_SERVER['MEEPO_PS_CLIENT_UNIQUE_ID'] . ')';
             $clientId = $data['send_to_one'];
             \MeepoPS\Core\Trident\AppBusiness::sendToOne($message, $clientId);
             break;
         default:
             return;
     }
};

//启动三层模型
$trident->run();

//启动MeepoPS
\MeepoPS\runMeepoPS();

results matching ""

    No results matching ""