一、先去workman下载GatewayClient、GatewayWorker、mysql-master;
二、GatewayWorker
需要在start_gateway.php配置TCP通讯,具体逻辑只需要在Events.php的onMessage方法中实现,这里如果需要用mvc通信客户端一定要把$client_id和uid绑定.
Gateway::bindUid($client_id,$res['data']); // 绑定uid
三、mysql-master
现在Events.php引入mysql-master (下面所有操作都在GatewayWorker的Events.php实现)
require_once '**/**/vendor/mysql-master/src/Connection.php';
/**
* 新建一个类的静态成员,用来保存数据库实例
*/
public static $db = null;
/**
* 进程启动后初始化数据库连接
*/
public static function onWorkerStart($worker)
{
self::$db = new \Workerman\MySQL\Connection('127.0.0.1', '端口', '用户名', '密码', '数据库名');
}
mysql的一些操作 注:(这里面字符串作为条件一定要加引号,切记)
www.workerman.net/doc/workerm…
四、GatewayClient
让mvc框架与GatewayWorker保持连接,可以通过uid主动给客户端发送,直接在接口操作
require_once ROOT_PATH. 'vendor/GatewayClient/Gateway.php';
Gateway::$registerAddress = '127.0.0.1:1236';
$res = Gateway::isUidOnline($charging_pile['id']);
if(!$res){
Db::rollback();
$this->error('抱歉机器暂时没有登录!请联系客服');
}
Gateway::sendToUid($charging_pile['id'], hex2bin($str16));
www.workerman.net/doc/gateway…
注:我这里也是第一次做,可能还有很多不足,请大佬们见谅,更多的可以加群一起讨论
小伙伴们!这样就完成了哦! QQ学习交流群:842167453 ,欢迎小伙伴加入一起学习。