WorkerMan 入门学习之(三)基础教程-Timer类的使用
1、ServerTimer.php 代码:
<?php /*** 定时器学习*/ require_once __DIR__ . '/Workerman/Autoloader.php'; use Workerman\Worker; use Workerman\Lib\Timer; // 创建一个容器 $worker = new Worker('websocket://0.0.0.0:12345'); // 连接回调 $worker->onConnect = function ($connection) {// 每10s 检查客户端是否有name属性 Timer::add(10, function () use ($connection) {if (!isset($connection->name)) {$connection->close("auth timeout and close");}}, null, false); };$worker->onMessage = function ($connection, $data) {if (!isset($connection->name)) {$data = json_decode($data,true);if (!isset($data['name']) || !isset($data['password'])) {return $connection->close("auth fail and close");}// 如果客户端name存在,mysql,这里使用动态给对象赋值属性name,标记该对象已经通过验证$connection->name = $data['name'];// 广播给所有用户,该用户加入return broadcast($connection->name . " join \n");}// 简单的连接器return broadcast($connection->name . ' said : ' . $data); };function broadcast($msg) {// 引入$worker 对象global $worker;// $worker->connections 为客户端连接的所有对象foreach ($worker->connections as $connection) {if (!isset($connection->name)) {//忽略掉continue;}$connection->send($msg);} }$worker::runAll();/
2、开启服务
3、打开谷歌浏览器测试
(1)没有携带name和password
(2)携带name和password
(3)两个客户端互相通信
客户端001
客户端002
WorkerMan 入门学习之(三)基础教程-Timer类的使用相关推荐
- 菜鸟教程php 文件上传,php入门学习知识点三 PHP上传
if(is_uploaded_file($_FILES["Imgs"]["tmp_name"])){ $phpupfile=$_FILES["Imgs ...
- c# out原理 ref_3-Unity入门学习之C#基础2「数据类型」
3-Unity入门学习之C#基础2 一.C#的数据类型 C#中,变量主要包含以下三种类型: 1.1.值类型 1.1.1.值类型介绍 ①结构[struct]:包含(整型.浮点型.128 位数据类型(de ...
- Python入门学习笔记1-Python基础
Python入门学习笔记1-Python基础 前言:本文介绍了Python学习的前导知识概念以及必记基础函数,如善用help方法查看帮助文档,以及内置对象类型的概念以及常用函数的详解. 一.Pytho ...
- 绘画如何入门?学绘画基础教程
绘画如何入门?学绘画基础教程!没有基础的话建议先从素描开始临摹,然后用软件建模,接着过渡到线稿.素描作为最基础的课程,需要你从最最最最基础的地方来看,就是人体.为了帮助有兴趣的朋友理解大多数人会选择绘 ...
- TIA博途SCL入门学习(三)创建SCL程序及更改FB块接口的视图样式
TIA博途SCL入门学习(三)创建SCL程序及更改FB块接口的视图样式 TIA博途中创建SCL程序有2种方式,具体可参考以下内容: 在LAD程序段或FBD程序段种可以插入SCL程序段,实现两种语言混合 ...
- html5教程 w3cschool,W3Cschool学习笔记——HTML5基础教程
HTML5 建立的一些规则:新特性应该基于 HTML.CSS.DOM 以及 JavaScript. 减少对外部插件的需求(比如 Flash) 更优秀的错误处理 更多取代脚本的标记 HTML5 应该独立 ...
- SQL零基础入门学习(三)
SQL零基础入门学习(二) SQL WHERE 子句 WHERE 子句用于提取那些满足指定条件的记录. SQL WHERE 语法 SELECT column1, column2, ... FROM t ...
- 深度学习之Pytorch基础教程!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:李祖贤,Datawhale高校群成员,深圳大学 随着深度学习的发展 ...
- 【深度学习】深度学习之Pytorch基础教程!
作者:李祖贤,Datawhale高校群成员,深圳大学 随着深度学习的发展,深度学习框架开始大量的出现.尤其是近两年,Google.Facebook.Microsoft等巨头都围绕深度学习重点投资了一系 ...
最新文章
- 2020年,图机器学习的趋势有哪些?
- 鸿蒙升级名单确认最新,华为鸿蒙系统升级名单正式确认!全面替换安卓:流畅度比肩iOS...
- 人工智能思维导图一张,收藏!
- struts2对action的搜索规则
- mac下常用快捷键整理
- tensorflow 读取cifar_浅入浅出TensorFlow 4 - 训练CIFAR数据
- 杭电1108java_按照这个步骤来刷题,迷茫的你两个月亦能成为王者
- UI设计干货素材|动态交互插画模板
- HDU 5835 Danganronpa 贪心
- 解决CocosCreator2.3.1使用VideoPlayer加载视频黑屏问题(修改底层代码)
- thinkphp5.x之数据库操作相关解析 Db类
- roads 用户体验标准_手持海外通行证,海信激光电视征服全球用户!
- ubuntu下使用锐捷客户端链接校园网
- 再分享一个零成本做文库代下载赚钱项目
- 电脑计算机稳定删除垃圾游戏,电脑卡怎么办简单步骤_如何清理电脑垃圾
- 通读SLA文档之后的感受
- 快闪类企业校园招聘H5,这么设计才够炫!
- Java实现百度贴吧自动签到器
- 调用Windows api 窗口截图
- 各类编程开发网址分享