当前位置: 首页 > news >正文

PHP框架+gatewayworker实现在线1对1聊天--gatewayworker说明(2)

文章目录

    • gatewayworker使用说明
    • onConnect 说明

gatewayworker使用说明

gatewayworker里只需要使用Applications\YourApp下的Events.php文件。
在这里插入图片描述

对文件的代码进行一下改造,如下,我们只需要用到onConnect方法,写法固定,其他方法都是空的。

<?phpuse \GatewayWorker\Lib\Gateway;/*** 主逻辑* 主要是处理 onConnect onMessage onClose 三个方法* onConnect 和 onClose 如果不需要可以不用实现并删除*/
class Events
{/*** 当客户端连接时触发* 如果业务不需此回调可以删除onConnect* * @param int $client_id 连接id*/public static function onConnect($client_id){// 向当前client_id发送数据 Gateway::sendToClient($client_id, json_encode(array('type'      => 'init','client_id' => $client_id)));}/*** 当客户端发来消息时触发* @param int $client_id 连接id* @param mixed $message 具体消息*/public static function onMessage($client_id, $message){}/*** 当用户断开连接时触发* @param int $client_id 连接id*/public static function onClose($client_id){}
}

onConnect 说明

当有websocket连接连上gatewayworker服务器的时候,就会把gatewayworker创建的客户端client_id给返回去。type是自己定义的一个类型。发消息会有不同的类型,文本,图片,表情。init作为初始化的代表。根据不同的类型,我们会进行不同的处理。

Events.php就做这些,后续几乎不再动整个文件了。


http://www.mrgr.cn/news/81988.html

相关文章:

  • 大模型WebUI:Gradio全解系列8——Additional Features:补充特性(下)
  • 【异常解决】生产环境 net :: ERR_INCOMPLETE_CHUNKED_ENCODING的问题修复
  • 全新免押租赁系统助力商品流通高效安全
  • C++ 设计模式:抽象工厂(Abstract Factory)
  • Flask入门一(介绍、Flask安装、Flask运行方式及使用、虚拟环境、调试模式、配置文件、路由系统)
  • Axure入门教程 -- 第四章:组件与页面的进阶设计
  • 使用 commitlint 和 husky 检查提交描述是否符合规范要求
  • STM32 软件I2C读写
  • Prometheus 专栏 —— Prometheus安装、配置
  • 仙盟系统开发——启动app失败
  • Leecode刷题C语言之二叉树中的链表
  • o1到o3的发展历程
  • 【2024年-7月-20日-开源社区openEuler实践记录】openEuler - Docker - Images:容器化世界的得力助手
  • 【Qt】容器控件、布局管理控件
  • 24.小R的随机播放顺序<字节青训营-中等题>
  • PySide6 一些基础资料
  • 选择器(结构伪类选择器,伪元素选择器),PxCook软件,盒子模型
  • Flutter封装一个三方ViewPager学习
  • 如何规范的提交Git?
  • 「Mac畅玩鸿蒙与硬件48」UI互动应用篇25 - 简易购物车功能实现
  • logback之自定义pattern使用的转换器
  • jetbrains HTTPS 请求与响应流量分析报告【二】
  • vuex - 第一天
  • apifox
  • 搭建ORB-SLAM3编译环境
  • GDPU Vue前端框架开发 期末赛道出勇士篇(更新ing)