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 加入、离开房间和房间消息发送
WebSocket 客户端消息的解析
前面我们演示了当客户端连接服务端,会触发连接事件,事件中我们要求返回当前客户端的 fd。当客户端发送消息给服务端,服务端会根据我们的规则将消息发送给指定 fd 的客户端: 阅读全文 Thinkphp6+swoole 教程(七) WebSocket 客户端消息解析与使用 SocketIO 来处理消息以及用户 UID 与 fd 关联
什么是客户端的 fd
fd 是在 Swoole 中客户端的唯一标识符,fd 是复用的,当连接关闭后 fd 会被新进入的连接复用,正在维持的 TCP 连接 fd 不会被复用 阅读全文 Thinkphp6+swoole 教程(六) WebSocket 消息、广播以及 Swoole 原生方法调用
什么是 WebSocket?WebSocket 协议是基于 TCP 的一种新的网络协议,使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 阅读全文 Thinkphp6+swoole教程(五)WebSocket 介绍、事件、数据发送