Package Information |
Summary |
Event-driven asynchronous and concurrent networking engine with high performance for PHP. |
Maintainers |
Han Tianfeng <
rango at swoole dot com >
(lead)
[details]
Bruce Dou <
doubaokun at php dot net >
(developer)
[details]
Lufei <
lufei at php dot net >
(developer)
[details]
|
License |
Apache2.0 |
Description |
Event-driven asynchronous and concurrent networking engine with high performance for PHP.
- event-driven
- coroutine
- asynchronous non-blocking
- multi-thread reactor
- multi-process worker
- multi-protocol
- millisecond timer
- built-in tcp/http/websocket/http2 server
- coroutine tcp/http/websocket client
- coroutine mysql client
- coroutine redis client
- coroutine read/write file system
- coroutine dns lookup
- support IPv4/IPv6/UnixSocket/TCP/UDP
- support SSL/TLS encrypted transmission |
Homepage |
https://github.com/swoole/swoole-src
|
Release notes
Version 4.2.0
(stable)
|
+ Add new coroutine hooks, `tcp`, `udp`, `ssl`, `tls`, `sleep`, `usleep`, and file read and write, `mkdir`...etc, be async automatically + New ability of the server/client to send the `swoole_websocket_frame` object directly, support any type of `frame` construction, send and receive, support `__toString` + Better `AIO` + Add the `Process\Pool::getProcess` method + Support `--with-hiredis-dir`, `--with-nghttp2-dir` compiling parameters * Enhanced `send_yield`, automatic retry within the timeout * Enhanced timer round detection, repaired millisecond-level ultra-short timer execution error * Enable `TCP_NODELAY` by default, turn off `Nagle algorithm`, reduce latency * More standardized PECL package * Re-support the sending of HTTP-header with custom `content-length` of 0 * Fixed an issue that can not access the Private/Protect properties in the class after coroutine yield caused by `EG(scope)` not switched in PHP7.0.x * Fixed the error opcode and finish status in `websocket_server` * Fixed the `async_dns_lookup` bug * Completed the code about `channel.c` overflow space handling * Fixed the bug of `channel->close` * Fixed the bug of coroutine `socket->recv_package` * Repair MySQL Statement->execute does not support null parameters * Support for identifying `form-data` encoding with a semicolon-separated `boundary` * Add many high-quality unit tests, greater stability - Remove useless time wheel algorithm |