Author: WiNDDRiVER([email protected])
If you find this project useful, please consider making a donation.
- Supports FPC 3.3.1
- Supports OpenSSL 3.x
- Added HTTP client ICrossHttpClient (Supports sending data compressed with gzip/deflate)
- Added WebSocket client ICrossWebSocket
- The HTTP server supports receiving gzip/deflate compressed data
- Partial code refactoring
- Some minor bug fixes
- ICrossHttpServer and ICrossWebSocketServer support both http and https
Thanks to xlnron for his help
- Fix the problem of memory leakage caused by TIoEventThread
thank viniciusfbb for finding and fixing the problem
- Fix memory leak caused by [weak]
when used with a third-party memory management library, there will be a memory leak. robertodellapasqua found the problem and pony5551 finally found the cause of the problem. Thank you very much! This should be a defect in Delphi's [weak] internal implementation. The problem was solved after replacing [weak] with [unsafe]
-
increase mbedtls support
- mbedtls enabling method: turn on __CROSS_SSL__ and __MBED_TLS__ in the engineering compilation option, and add the directory under MbedObj to the Library path of the corresponding platform
- mbedtls support is not stable at present, please do not use it in production environment
- code refactoring, with many modifications, see source code for details
- Several new interface have been added. See demos for usage
- ICrossSocket
- ICrossSslSocket
- ICrossServer
- ICrossSslServer
-
Use different IO models for different platforms:
- IOCP
Windows
- KQUEUE
FreeBSD(MacOSX, iOS...)
- EPOLL
Linux(Linux, Android...)
-
Supports extremely high concurrency
- Windows
can run more than 100000 concurrent number, need to modify the registry to adjust the default maximum port number
- Mac
preliminary tests were conducted. the test environment was OSX 10.9.5 in the virtual machine. even if the limit on the number of handles in the system was modified, can only open more than 32000 concurrent connections at most, perhaps OSX Server version can support higher concurrency
-
IPv4 and IPv6 are supported at the same time.
-
Zero Memory Copy
- Windows
- OSX
- iOS
- Android
- Linux
- To give full play to cross-platform functions, please use Delphi 10.2 Tokyo or higher
- The minimum requirement is to support the Delphi version of generic and anonymous functions. I am not sure from which version generic and anonymous functions are supported.
- It is recommended to use FPC version 3.3.1 or higher