Thinkphp6+swoole 教程(八)WebSocket-Room 加入、离开房间和房间消息发送
精华
Think-Swoole 3.0 中 Websocket 新增了 Room 聊天室功能,它主要用于群发消息,但不同Room之间的消息又是相互隔离的。当我们进入一个聊天室,那么我们的进入、离开以及发送的消息只有这个聊天室的 fd 能接收到。 阅读全文 Thinkphp6+swoole 教程(八)WebSocket-Room 加入、离开房间和房间消息发送
不积跬步无以至千里
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 介绍、事件、数据发送
协程可以简单理解为线程,只不过这个线程是用户态的,不需要操作系统参与,创建销毁和切换的成本非常低,和线程不同的是协程没法利用多核cpu的,想利用多核 cpu 需要依赖 Swoole多进程模型。 阅读全文 Thinkphp6+swoole 教程(四)配置、工作进程、协程以及理解 Swoole进程模式
由于 Swoole 服务运行过程中 PHP 文件是常驻内存运行的,这样可以避免重复读取磁盘、重复解释编译 PHP,以便达到最高性能。所以更改业务代码后必须手动 reload 或者 restart 才能生效。 阅读全文 Thinkphp6+swoole 教程(三)热更新