Server provides the API to write TCP / UDP / UnixSocket Servers.
HTTP Server provides the API to write HTTP servers.
WebSocket Server provides the API to write WebSocket servers.
Redis Server provides the API to write TCP servers with Redis protocol.
Taking advantage of multicore, you have to use multiple processes in you server or application. You can build multiple processes application easily with the features provided by Swoole.
Process can be attached and managed by Swoole Server with addProcess API.
It can be used to manage a group of worker processes to process messages in MQ like Redis or sent from client side.
Atomic can be used for interprocess variable synchronization.
Lock can be used for data synchronization between multiple processes.
Table is a high performance memory management module, implemented based on shared memory and spin lock. It can be used by multiple processes: worker process or task worker process.
Concurrency with PHP Conroutine. Coroutine is the mainstream since Swoole version 4.0, although the
async style API is supported by extension
ext-async, Coroutine style API is recommended.
TCP/UDP Client provides the API to write TCP/UDP/UnixSocket/HTTP clients, supports IPv4/IPv6 protocol.