Thinkphp6+swoole 教程(十)Task异步任务 与协程使用
精华
在 Server 程序中如果需要执行很耗时的操作,比如一个聊天服务器发送广播,Web服务器中发送邮件。如果直接去执行这些函数就会阻塞当前进程,导致服务器响应变慢。使用 Task异步任务投递可以大大提升用户体验例如:用户注册场景,完成注册并发送激活邮件的功能,需要以下几步 阅读全文 Thinkphp6+swoole 教程(十)Task异步任务 与协程使用
不积跬步无以至千里
在 Server 程序中如果需要执行很耗时的操作,比如一个聊天服务器发送广播,Web服务器中发送邮件。如果直接去执行这些函数就会阻塞当前进程,导致服务器响应变慢。使用 Task异步任务投递可以大大提升用户体验例如:用户注册场景,完成注册并发送激活邮件的功能,需要以下几步 阅读全文 Thinkphp6+swoole 教程(十)Task异步任务 与协程使用
通过前面的实例中,如果按照之前的事件监听方式,客户端的每个场景事件,服务端都需要创建每个对应的事件,如果事件太多, app/listener 目录下将会有很多的文件(其实也不算什么坏现象),事件订阅就是为了解决这一问题,把所有的事件都写在一个文件中。 阅读全文 Thinkphp6+swoole 教程(九)WebSocket 事件订阅
Think-Swoole 3.0 中 Websocket 新增了 Room 聊天室功能,它主要用于群发消息,但不同Room之间的消息又是相互隔离的。当我们进入一个聊天室,那么我们的进入、离开以及发送的消息只有这个聊天室的 fd 能接收到。 阅读全文 Thinkphp6+swoole 教程(八)WebSocket-Room 加入、离开房间和房间消息发送
什么是客户端的 fd
fd 是在 Swoole 中客户端的唯一标识符,fd 是复用的,当连接关闭后 fd 会被新进入的连接复用,正在维持的 TCP 连接 fd 不会被复用 阅读全文 Thinkphp6+swoole 教程(六) WebSocket 消息、广播以及 Swoole 原生方法调用
什么是 WebSocket?WebSocket 协议是基于 TCP 的一种新的网络协议,使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 阅读全文 Thinkphp6+swoole教程(五)WebSocket 介绍、事件、数据发送
协程可以简单理解为线程,只不过这个线程是用户态的,不需要操作系统参与,创建销毁和切换的成本非常低,和线程不同的是协程没法利用多核cpu的,想利用多核 cpu 需要依赖 Swoole多进程模型。 阅读全文 Thinkphp6+swoole 教程(四)配置、工作进程、协程以及理解 Swoole进程模式