win10 子系统 WSL

以下文章转载自【良许Linux】公众号 Linux在程序员中属于高逼格的存在,当然安装了图形界面的程序员要减分,毕竟你需要用鼠标了!程序员的桌面不能比谁的更酷更炫,要比谁的屏幕多,桌面颜色少! Windows向来是没有这种光圈的,因为它的目标是小白用户。当然它的cmd命令从始至终充满了科技的味道,一直都是黑白两色。 微 […]

Think-Swoole 系列文章停止更新

由于目前 ThinkPHP 与 Swoole 的兼容性并不是很稳定,因此打算不再更新 Think-Swoole 系列文章,未来根据实际情况再决定是否重新开辟一个新的专栏介绍 Swoole 在 ThinkPHP 中的应用。若有 Swoole 需求的场景,可以试试 Hyperf 框架,目前公司生产环境一直在用,很稳定。

Think-Swoole 教程(十)Task 异步任务

使用场景 在 Server 程序中如果需要执行很耗时的操作,比如一个聊天服务器发送广播,Web服务器中发送邮件。如果直接去执行这些函数就会阻塞当前进程,导致服务器响应变慢。例如:用户注册场景,完成注册并发送激活邮件的功能,需要以下几步: 客户端提交 POST 数据 -> 服务器获取到数据 -> 完成注册将用 […]

Think-Swoole 教程(九)WebSocket 事件订阅

通过前面的实例中,如果按照之前的事件监听方式,客户端的每个场景事件,服务端都需要创建每个对应的事件,如果事件太多, app/listener 目录下将会有很多的文件(其实也不算什么坏现象),事件订阅就是为了解决这一问题,把所有的事件都写在一个文件中。下面用事件订阅的方式处理事件 首先需要把之前在 app/event.p […]

Think-Swoole 教程(七) WebSocket 客户端消息解析与使用 SocketIO 来处理消息以及用户 UID 与 fd 关联

WebSocket 客户端消息的解析 前面我们演示了当客户端连接服务端,会触发连接事件,事件中我们要求返回当前客户端的 fd。当客户端发送消息给服务端,服务端会根据我们的规则将消息发送给指定 fd 的客户端: app/listener/WsConnect.php <?php declare (strict_typ […]

Think-Swoole 教程(五)WebSocket 的介绍、事件和数据发送

什么是 WebSocket WebSocket 协议是基于 TCP 的一种新的网络协议,使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 为什么需要 WebSock […]

Think-Swoole 教程(三)热更新

由于 Swoole 服务运行过程中 PHP 文件是常驻内存运行的,这样可以避免重复读取磁盘、重复解释编译 PHP,以便达到最高性能。所以更改业务代码后必须手动 reload 或者 restart 才能生效。