打印/下载
函数
案例

开启服务

# 项目
cd phalcon
# 运行
php app/cli.php Socket start

服务端: 启动服务

public function start(): void

客户端: 发送消息

public function send(
  array $data=[], //消息数据
): void

案例分析

<?php

use \Swoole\WebSocket\Server as WebSocket;
use \Swoole\Coroutine\Http\Client;
use app\library\Centre;

class SocketTask extends TaskBase{

  /* 属性 */
  static private $msg_limit = 100;  // 消息总条数
  static private $suid = '0';        // 系统消息ID
  static private $uid = '';         // 用户ID
  static private $name_fd = '';     // 缓存:SocketFD
  static private $name_uid = '';    // 缓存:用户ID

  /* 构造函数 */
  function initialize(){
    self::$name_fd = $this->config->socket_name.'Fd';
    self::$name_uid = $this->config->socket_name.'Uid';
  }

  /* 启动 */
  function startAction(){
    /* 链接成功 */
    $server->on('open',function($server,$request){
      // 验证Token
      // 记录FD、用户UID
    }
    /* 退出 */
    $server->on('close',function ($ser,$fd){
      // 清理: 记录FD、用户UID
    }
    /* 监听消息 */
    $server->on('message',function($server,$frame) {
      // 消息路由
    });
  }

}
{{copy}}