swoole基础-与传统MVC框架的整合 发表于 2018-12-17 | 分类于 Swoole 由于yii2本身就是传统MVC框架的典型代表之一,所以这个问题又可以等同于swoole如何与传统的MVC框架整合,比如laravel\tp等。本文我们就以yii2为例,来简述下在传统MVC框架下是怎么运用swoole的。 我们在去年12月份讲yii2的console知识点的时候,提过swoole。没 ... 阅读全文 »
swoole基础-websocket通知案例以及多端口复合协议的使用 发表于 2018-12-17 | 分类于 Swoole 最初是打算写个聊天室分享给大家,后来仔细斟酌了一下,还是讲个web通知吧,两个案例都差不多。 当然,在前面两篇介绍websocket的基础之上,相信你一定会觉得web通知这个功能就是一个小case。所以本文我们把重点放在后面多端口复合协议的使用。 websocket通知的实现方式,基本上跟webso ... 阅读全文 »
swoole基础-常见的websocket问题 发表于 2018-12-17 | 分类于 Swoole 上一节我们讲述了websocket在swoole中的使用,并且我们也给出了一个简单的聊天模型,不同的客户端可以相互发消息。有些同学不以为然,server有swoole提供强大的API,客户端由h5提供websocket API,操作很方便,没感觉到什么问题呀,这一章节是否有存在的必要性呢? 有,非常 ... 阅读全文 »
swoole基础-swoole之websocket初识 发表于 2018-12-17 | 分类于 Swoole 什么是websocket websocket != socket。 我猜有些人一看标题websocket就联想到socket,其实二者之间并没多大关系,这就好比javascript和java,千万不要混淆了。 那websocket是什么呢? websocket是一个协议,它仅仅就是一个协议而已,跟我 ... 阅读全文 »
swoole基础-swoole之http服务器 发表于 2018-12-17 | 分类于 Swoole 今天我们来了解一下swoole内置的http服务器,这篇我们一开始没打算更新,想着后面写websocket的时候可能有个别知识点会让人觉得突兀,这才有了今天我们要说的内容。 为什么一开始没打算写swoole http服务器的内容呢?考虑到一般的web应用,现在都有非常成熟的开发框架,比如yii2\l ... 阅读全文 »
swoole基础-异步发送邮件案例 发表于 2018-12-13 | 分类于 Swoole 在介绍task的时候我们提到过邮件发送,不过当时是作为引子,主要讲的是swoole task方面的知识点,今天我们来实战性的完善一下“发送邮件”的案例。 先来总结一下我们在写代码的过程中应该注意哪些问题 开启数量适中的Worker进程和Task进程守护进程化配置运行时日志平滑重启避免内存泄漏避免粘包 ... 阅读全文 »
swoole基础-swoole之粘包问题 发表于 2018-12-13 | 分类于 Swoole 什么是粘包问题,为什么我们要讲这个看起来比较奇怪的问题呢? 不着急解释,我们先看一个例子 创建一个server,server端代码如下1234567891011121314151617181920212223242526272829303132<?phpclass TcpBufferServe ... 阅读全文 »
swoole基础-swoole之定时器 发表于 2018-12-12 | 分类于 Swoole 说起定时器,大家都不陌生。我最早接触定时器的概念,是javascript的setInterval和setTimeout这两个函数,前者会持续执行,后者仅会执行一次。 在后端开发中,一些涉及到定时器相关的需求,比如数据库备份,排行榜数据更新等,通常我们可以借助linux的crontab工具实现。但是对 ... 阅读全文 »
swoole基础-swoole之守护进程、信号和平滑重启 发表于 2018-12-12 | 分类于 Swoole 守护进程 之前我们介绍过进程和线程,今天我们再来谈一谈守护进程。 无论是server初识还是task邂逅,不管我们程序写的多么精彩,都没有办法把项目应用到实际业务中,因为我们知道,把运行server的终端关闭之后,server也就不复存在了。 那有没有一种办法说仅且当电脑关机的时候才终止server ... 阅读全文 »
swoole基础-常驻内存以及如何避免内存泄漏 发表于 2018-12-12 | 分类于 Swoole Task初体验一文中我们提到,server中的代码修改之后,要先按Ctrl+C终止server再重新启动下server才会生效,当时我们一言以过之,本节我们主要就来看看这个常驻内存相关的事。 在传统的web开发模式中,我们知道,每一次php请求,都要经过php文件从磁盘上读取、初始化、词法解析、语法 ... 阅读全文 »