Swoole WebSocket 服务端如何主动推送消息?

最近有个朋友在使用swoole做一个在线看球赛的功能,球赛数据是实时更新的;要实现的是用户在浏览网页自动更新球赛数据(数据源是一个三方机构提供的,明确上线3秒请求一次);解决方案:轮询:客户端定时请求服务端接口(服务端再请求第三方接口);大概就是这样一个流程;虽然流程和逻辑简单,但是负载大、并且用户看到的结果可能是不一致的;swoole websocket方案:服务端定时请求接口,如果数据有更新,则主动推送到客户端实时修改数据即可;swoole大致就是这样一个简单的流程;逻辑简单,负载小,并且用户看到的结果都是一致的;下面是我写的一个简单的deomo:服务端代码: <?php //...

php 2020-06-30 PM 74℃ 1条

编程中的一些密码学知识

信息的时代,个人的信息都是有价值的,从事信息犯罪的人都受过良好的教育,有较高的知识水平,他们了解计算机的构造和工作原理;能够轻易截取个人的敏感信息;因此加密在编程中是非常重要的一个环节;在编程中一般信息分2种:明文:明文指的是未被加密过的原始数据;密文:明文被某种加密算法加密之后,会变成密文,从而确保原始数据的安全。密文也可以被解密,得到原始的明文。在编程中钥匙一般分2种:公钥:指的是公共的密钥,任何人都可以获得该密钥;私钥:私钥表示个人私有的密钥,即该密钥不能被泄露在编程中加密一般分2种:对称加密对称加密又叫做私钥加密,即信息的发送方和接收方使用同一个密钥去加密和解密数据。对称加密的特...

其它 2020-06-30 PM 31℃ 0条

PHP如何编译安装Reids扩展?

在使用linux、mac在某些情况下总是要比windows 要便利很多;如何给PHP安装Redis扩展,编译安装既适用于Linux也适用于MAC OS;下载php-redishttps://nodeload.github.com/nicolasff/phpredis/zip/master解压包,注意自己解压的位置tar -zxvf phpredis-master.zip进入redia扩展目录cd phpredis-master执行phpize(注意这里是你要安装的php的phpize,可以适用如下命令查看)which php #执行结果:/Applications/MAMP/bin/p...

php 2020-01-03 PM 765℃ 4条

Mac Homebrew 的安装和Redis的安装

安装Homebrew我们使用官网提供的统一安装方法,只需执行下面的命令即可/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,Mac上默认已经给我们安装好了。一段漫长的时间过后,当出现Installation successful!提示时就表示已经安装成功。brew几个基本使用命令查询软件brew search 软件名安装软件brew install 软件名启动|停止|...

其它 2020-01-03 PM 310℃ 0条

PHP+Element UI递归实现无限极树形菜单

使用后台都会涉及到左侧的菜单分类;刚好今天再使用Yaf + element 做一个通用后台,实现了一下无限极菜单;下面具体讲一下实现方法:分为几个步骤:获取所有菜单递归分级递归渲染菜单首先我们来看一下element的菜单html结构<el-menu default-active="2" class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose"> <el...

php 2019-12-26 AM 465℃ 0条

Typecho使用CommentMailPlus插件实现评论回复邮件通知

在使用Typecho后,很多朋友在网站评论后,我都是一一回复的,但是回复之后用户都不知道,要下次再来浏览才能看到我的回复,如果我回复之后能够以邮件的形式通知就比较好了;前2天本身想着自己写一款插件的,但是显示网上看了,已经有朋友实现了;首先在官网邮件回复插件有CommentToMail;但是在使用CommentToMail之后还是发现了一些问题;采用异步发送,失败率很高采用腾讯、网易等STMP服务器很不稳定,在尝试遇到很多问题;然后在githtb上看到CommentMailPlus这款插件,然后尝试了一下,本站也是使用的CommentMailPlusCommentMailPlus 的下载...

其它 2019-12-05 AM 565℃ 0条

看懂PHP单例模式只需要看这篇文章即可

在项目中单例模式是一个使用率非常高的设计模式,在这里我们来介绍一下单例模式。多数文章中严格的说明了单例模式必须三私一公,实际在项目中运用并非这么严格,下面简单的写一个普通实例:class b{ public $a = 0; public $b = 0; public function __construct() { $this->a = 1; $this->b = 2; } } $obj1 = new b(); $obj2 = new b(); $obj3 = new b(); va...

php 2019-11-29 PM 938℃ 2条

改造Yaf、完美支持多域名、多平台、多环境、分布式

在之前我写过一些关于yaf的文章、也出过yaf写过的博客和后台管理系统、但是都不满意,想象给大家提供一套快速应用的模版项目,不如给大家提供项目架构的思路,毕竟撸业务代码谁都会,重要的思想却要经过多年工作经验,在项目实战总结而来,该架构我应用于千万级项目生产中、对yaf做了简单修改就赋予了它的高能。增加了一个后台管理系统,界面如下:在使用yaf的过程中发现很多的不足,最大的几点表现在:不支持多域名,如果非要使用就需要多模块,用转发模块的方式实现,非常不友好;不实用于项目解耦;多模块核心类库难以管理;多模块控制器无法继承;难以支持分布式;对于大型项目,一个配置文件对于我们来说太难管理了;当然...

php 2019-11-28 PM 1154℃ 3条

php apcu安装、和使用方法以及会遇到的问题解答

APCu是剥离了操作码缓存的APC。第一个APCu代码库的​​版本为4.0.0,当时是从APC主分支的头派生的。从APCu 5.0.0开始提供PHP 7支持。APCu可以提供兼容模式,从而可以减少对APC适用部件的替换。说白了就是apc的进化版。如果需要了解apc的请参考以下链接https://www.php.net/manual/zh/intro.apc.php| Windos开发环境下如何安装Apcu:下载dll文件,以下链接可以找到对应PHP版本的dll文件,将下载好的文件放到php/ext目录下。https://pecl.php.net/package/apcu常用的版本下载参考...

php 2019-11-27 PM 861℃ 0条