Swoole Modules

Swoole Server

Swoole server provides the API to write TCP / UDP / UnixSocket servers.

Methods List
Callback functions
Common problems

Swoole HTTP Server

Swoole HTTP server provides the API to write HTTP servers.

Methods List
Common issues

Swoole WebSocket Server

Swoole WebSocket server provides the API to write WebSocket servers.

Swoole Redis Server

Swoole Redis server provides the API to write TCP servers with Redis protocol.

Swoole TCP/UDP Client

Swoole client provide the API to write TCP/UDP/UnixSocket/HTTP clients, supports IPv4/IPv6 protocol. Developers can write sync or async client side features with swoole client API.

Methods List
Callback functions
Properties List
Predefined Constants
Configurations List
Common Problems

Swoole Process Manager

Linux process management module can be used to create new Linux process, manage the processes, and the communication between different processes.

Methods List

Swoole Async File I/O

Async API includes the async File IO API, Timer, async HTTP client API, async MySQL client API, async Redis client API and async DNS client API.

Swoole MySQL Client

The swoole async MySQL client is a replacement of the other sync MySQL clients: libmysqlclient, mysqlnd, mysqli.

Swoole Redis Client

Swoole async redis client is based on hiredis.

Swoole Async Http/WebSocket Client

Swoole Async HTTP client is a high performance and aync HTTP client supports Http-Chun, Keep-Alive, form-data.

Swoole Async Http2 Client

Http2.0 client support stream and multiplexing. Multiple GET or POST request can be sent over the same TCP connection.

Swoole EventLoop

Developers can use swoole EventLoop API to use the system EventLoop.

Swoole Scheduler

Schedule functions to run at set intervals, accurate to milliseconds.

Swoole Serialize

Fast serialization for PHP.

Swoole Memory

Swoole Atomic

Integer variable allows any processor to atomically test and modify. Implemented based on CPU atomic instructions.

Swoole Buffer

Memory management module enable developers managing memory like C language without worrying about memory allocation, release.

Swoole Table

Swoole table is a high performance memory management module, implemented based on shared memory and spin lock.

Swoole MMap

Swoole provides the api to use mmap for files access.

Swoole Channel

Memory data structure likes Chan in Golang, implemented based on shared memory and Mutex locks. It can be used as high performance message queue in memory.

Swoole Lock

Swoole locks enable PHP developers use locks for data synchronization between multiple theads or processes.