Swoole

Swoole

Swoole:PHP 协程框架Swoole 让 PHP 开发人员能够编写高性能、高并发的 TCP、UDP、Unix Socket、HTTP 和 WebSocket 服务,突破 PHP 主要用于 Web 开发的限制。项目使用 C/C++ 编写,提供协程、异步 IO、多进程并发及丰富的网络服务能力,适用于互联网、移动通信、云计算、网络游戏、物联网和车联网等场景。

Swoole 页面快照
6
页面列出的 Swoole CLI 下载包
4
页面列出的开源项目:swoole-cli、swoole-src、phpy、phpx
5
支持的主要服务类型:TCP、UDP、HTTP、WebSocket、Unix Socket
核心能力

开源、高性能、生产力

Swoole 将协程调度、异步网络通信和多进程并发机制整合到 PHP 开发中,支持使用接近同步的代码编写异步程序,并内置多种服务器、客户端及并发数据结构。

协程与异步 IO

Swoole 4 支持类似 Go 语言的协程,底层自动进行协程调度,PHP 代码无需额外增加关键词即可实现异步 IO。

多协议网络服务

内置 HTTP、WebSocket、TCP、UDP 服务端与客户端能力,并支持 Unix Socket、HTTP/2.0 等网络通信场景。

异步数据与连接能力

提供异步 MySQL、异步 Redis、数据库连接池、异步文件读写和异步 DNS 查询等能力。

多进程并发机制

提供原子计数器、Table、Channel、Lock 和进程间通信 IPC 等并发数据结构与通信机制,简化多进程编程。

任务与定时处理

支持 AsyncTask、消息队列和毫秒定时器,可用于异步任务分发及定时任务处理。

公开内容

Swoole 生态项目与实践

官网公开展示了基于 Swoole 构建的游戏服务端、长连接框架、物联网方案、队列系统、微服务框架及开源商城等项目。

斗地主游戏服务端

一个基于 Swoole 与 Hyperf 框架开发的斗地主游戏服务端示例,使用原生 JavaScript 和 WebSocket 实现客户端打牌逻辑。

LaravelS 长连接适配器

LaravelS 连接 Swoole 与 Laravel/Lumen,内置 HTTP、WebSocket、TCP、UDP Server,并支持异步事件监听、异步任务、毫秒级定时任务和平滑 Reload。

物联网 MQTT 方案

页面介绍了基于 MQTT 发布订阅模式的物联网方案,可使用 Swoole 作为 MQTT 服务端或客户端,覆盖机器间通信和物联网场景。

开发资源

下载、文档与社区入口

提供 Swoole CLI 与源码下载、官方文档、问答社区、视频内容及 GitHub 源代码入口,便于进行安装、学习和开发。

Swoole

从这里开始使用Swoole。