Author: WiNDDRiVER([email protected])
If you find this project useful, please consider making a donation.
- 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 and above
- 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.
- SSL under non - Windows platform is unstable, please do not use it in production environment