封装composer包,实现thinkphp、larverl、yii框架中使用(使用框架实现回调方法)

内有demo thinkphp、larverl、yii框架使用worker-socket

可以查看我写的即时通讯案例 佳萌驿站 然后点击QQ登录



完美解决在 event 里面 ,onmessage 里面如何 嵌入 thinkphp,使用框架实现回调方法


1.安装
composer require tinymeng/worker-socket dev-master

2.业务逻辑
在项目 /application/index/controller 下创建文件Events.php
首先创建控制器类并继承 tinymeng\worker\Server,然后设置属性和添加回调方法

2.1 ThinkPhp框架示例如下:
<?php
/**
* Name: Events.php.
* Author: JiaMeng <666@majiameng.com>
* Description: websocket callback
*/
namespace app\index\controller;

use tinymeng\worker\Server;
use GatewayWorker\Lib\Gateway;

class Events extends Server{
/**
* @var string Socket connect address
*/
protected $socket = 'websocket://0.0.0.0:1314';
/**
* @var string The current class of namespace
*/
protected $eventHandler = 'app\index\controller\Events';

/**
* Description: 当客户端连接时时触发
* Author: JiaMeng <666@majiameng.com>
* @param $client_id
*/
public static function onConnect($client_id){
echo 'client_id : '.$client_id. ', connect ' .PHP_EOL;
}

/**
* Description: 当客户端发来消息时触发
* Author: JiaMeng <666@majiameng.com>
* @param int $client_id 连接id
* @param string $data 具体消息
*/
public static function onMessage($client_id, $data) {
echo 'client : '.$client_id. ',message data :'.$data .PHP_EOL;
}

/**
* Description: 当客户端断开连接时触发
* Author: JiaMeng <666@majiameng.com>
* @param int $client_id 连接id
*/
public static function onClose($client_id) {
echo 'client_id : '.$client_id .' close '.PHP_EOL;
}

}


3.配置thinkphp的启动文件然后来启动 workman 这样回调就会主动回调回写的控制中了,可以试一试哦
4.


支持workerman所有的回调方法定义(回调方法必须是public static类型)
12345679.jpg

2 个评论

有谁用过swoole 的 onHandShake()时间来做socket 连接加密 ? 我现在用workerman 没有找到这个
详细信息请查看 http://blog.majiameng.com/index.php/article/2701.html

要回复文章请先登录注册