are there any plans to implement IOCP as a transport mechanism in Remobjects SDK? I have read some discussions and blogs about it lately and it seems that this mechanism is suitable for much higher throughput and concurrency than Indy etc.
IOCP is hardly a transport. It is an API to handle multiple I/O requests, can be bound to any file handle including disk files and sockets. Yes, it seems to provide a more efficient threading model than the classic “dedicated thread for each request”. But there is an important disadvantage for us: unlike Indy this API is Windows only.
Due to some issues with Indy and Synapse, the libraries we currently use, there are discussions about creating our own channels and servers to go away from third party dependence. We’ll consider this API too but mind you, it is not a matter of the near future.
Synopse’s mORMot project leverage IOCP on Windows, its fast and cool, but yes, its not cross-platform. And yes, its much, much faster than Indy!
Maybe its better to use some frontend server, like NGINX, as frontend, and use some plugin to process request. For Linux/OSX, NGINX have best performance, much better then Apache!
Hi,
On a future version of RO, they will be implementing some of the protocols based on the Grijjy open source communication classes. Grijjy implemented IOCP on them, even if RO doesnt directly support them (hopefully they will) it could be possible to modify them so they can be used.
it would be great if you will can release the source code of the ROServiceTester on github (only users with a license) so we can add the missing features, port the product to new versions of Delphi, etc. etc…
Service Tester uses a lot of 3rd party components are released in 2006.
Some of them don’t exist anymore, like Eagle Software CDK, etc
I don’t think, that anybody except us continue to use them