组播协议

组播协议包括了两个部分: 组成员管理协议 组播路由协议 解释如下: 组成员管理协议 用于管理组播组成员的加入和离开 组播路由协议 负责在路由器之间交互信息来建立组播树   *IGMP是组播路由器用来维护组播组成员信息的协议,运行与主机和组播路由器之间。   IGMP协议提供了在转发组播数据包到目的地址的最后阶段所需要的信息,实现如下双向的功能: 主机通过IGMP通知路由器希望“加入”或者“离开”某个组; 路由器通过周期性的发送IGMP查询包,从而获得局域网内的组播组成员是否处于活动状态;   有资格周期性发送IG ...

Yii2 操作不同的数据库

1,配置文件web.php 'components' => [         'db' => require(__DIR__ . '/db.php'),         'db1' => require(__DIR__ . '/db1.php'),         ] 1234 'components' => [        'db' => require(__DIR__ . '/db.php'),        'db1' => require(__DIR__ . '/db1.php'),        ]   2,db,db1配置 — 可以根据需要将db.php db1.php 合并 db配置 return [     'class' => 'yii\db\Connec ...

MySQL触发器更新和插入操作

一、触发器概念 触发器(trigger):监视某种情况,并触发某种操作,它是提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,例如当对一个表进行操作( insert,delete, update)时就会激活它执行。 触发器经常用于加强数据的完整性约束和业务规则等。 触发器创建语法四要素: 1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete) 触发器基本语法如下所示: 其中 ...

利用base64函数,对文件进行转码加密

设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层传输,例如电子邮件的内容就是通过base64转码后传输的。Base64-encoded后, 数据要比原始数据多占用 33% 左右的空间。 利用base64加密文件: //写文件路径 $file_url = 'upload/iampdf.pdf'; $file_encoded = 'encoded/iampdf.pdf'; //获取文件数据 $data = file_get_contents($file_url); //转码加密 $data_encode = base64_encode($data); //保存加密后的文件 file_put_contents($data_encode,$file_encoded ); 1 ...

Linux下Redis的安装和部署

一、Redis介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,Redis支持各种不同方式的排序。 和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存清空,数据丢失。所以Memcache的应用场景适用于缓存无 ...

PHP获取文件夹中的所有文件(包括子目录)

方法一: function tree($directory) { $file_arr = []; $mydir = dir($directory); while($file = $mydir->read()) { if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")) { //子目录的文件合并到返回结果中 $file_arr = array_merge($file_arr,tree("$directory/$file")); } elseif (($file!=".") ...

crontab定时任务不执行的原因

1 crond服务未启动 crontab不是Linux内核的功能,而是依赖一个crond服务,这个服务可以启动当然也可以停止。如果停止了就无法执行任何定时任务了,解决的方法是打开它: service crond start 1 service crond start 如果提示crond命令不存在,可能被误删除了,CentOS下可以通过这个命令重新安装: yum -y install crontabs 1 yum -y install crontabs 2 ...

关于支付宝通知接口中,notify_id的时效性 

当支付宝的接口存在页面跳转同步通知方式或服务器异步通知方式时,notify_id基本会在通知返回的url中出现。Notify_id是帮助商户校验商户获取的信息是否是支付宝发来的,这其中也包含了notify_id的时效性问题。 在页面跳转同步通知方式里(return_url),notify_id的有效性一般为1分钟,且在有效期内支持重复使用校验。 在服务器异步通知方式里(notify_url),notify_id的有效性则是永久,但不支持重复使用来校验通知,即校验成功(支付宝收到了商户打印的success且支付宝不再发该次通知),此时notify_id变为无效。 ...

使用apidoc根据JS文件生成接口文档

1.安装nodejs。下载网址:http://www.nodejs.org; 2.安装apidoc。运行cmd,切换到nodejs的安装目录,在命令行输入: npm install apidoc -g 1 npm install apidoc -g ,完成apidoc的安装。 3.在nodejs的安装目录新建一个myapp的文件夹(用于放接口源码文件,文件为js格式,源码如下)。 /** * @api {POST} /address/index 用户地址添加/修改 * @apiGroup Address * @apiVersion 0.0.1 * @apiDescription 用户地址添加/修改 * @ ...