#1 Re: mORMot 2 » Binding multiple ports to multiple routes » 2026-07-13 14:25:39

ab wrote:

So you want a single THttpApiServer, but several ports?

Just one question: why several ports?

No, to be exact, different ports for different paths in THttpAsyncServer.

My use case: It is served as an HTTP server that receives requests from various SDK servers. Some SDKs require that the URL must be the root path, which is beyond my control. Currently, I use THTTPAPIServer, which works quite well for this scenario. However, I want to migrate to the new asynchronous HTTP server.

Each SDK's individual network traffic is not very large, but when added together, it becomes substantial. I do not want to create multiple THTTPServer instances for every single SDK, as that might create many threads that I do not need.

It is a common feature that supported by Nginx or IIS.

#2 Re: mORMot 2 » Binding multiple ports to multiple routes » 2026-07-06 15:06:56

If I need to use an async handle to reponse the request, it seems my only option is to setup an Nginx server as a reverse proxy, as I cannot setup multiple HTTP server to handle the logic as the non-async version could do.
@ab: Is it possible this could be supported?

#4 Re: mORMot 2 » Binding multiple ports to multiple routes » 2026-03-27 16:32:12

ab wrote:

Can you explain a little bit more?

Sure.

When I use THttpApiServer, I can add multiple routes with different ports using AddUrl.

For example:

AddUrl('test1','8056')
AddUrl('test2','8097')

But when I am using THTTPServer, it seems I can only pass the port parameter to the constructor, it does not support to bind different routes to different ports.

#5 mORMot 2 » Binding multiple ports to multiple routes » 2026-03-26 06:35:28

I'm using THttpApiServer to achieve this goal in the past, which works great.
But now I'm tring to port the application to Linux, so THttpApiServer is no longer an option.
Do I have to create multiple THttpServer instance to achieve the same goal?

#8 Re: mORMot 2 » Compiling mORMot 2 for Linux with Delphi's LLVM compiler: Is it feasib » 2026-02-26 14:13:55

So did I. Most of the code just work after changing platforms, except for the parts relying on Windows unit. For us, performance is already good enough; compatibility is our main concern.

#9 Re: mORMot 2 » Compiling mORMot 2 for Linux with Delphi's LLVM compiler: Is it feasib » 2026-02-25 16:59:11

Will Delphi for Linux support still be considered in the roadmap?
Surely we could use FPC for new projects. But a lot of people like me are trying to migrate the old Windows project to Linux, a total rewrite in FPC is often not practical. To be honst, I have used a lot of 3rd party libraries in my project, but for now mORMot is the last 3rd party library that does not support Delphi for Linux. I have to write a adapter to use mORMot and Indy version of HTTP Server.

#11 Re: mORMot 2 » Continue discusstion Github issue #321 (Race condition in THttpAsyncS) » 2024-12-18 14:04:29

Do we have any progress on this? I see some related commits, but the issue we discussed is not fixed.

#13 Re: mORMot 2 » Continue discusstion Github issue #321 (Race condition in THttpAsyncS) » 2024-12-11 02:47:30

That's great!
My thought is always, correctness first, performance later.
This could also happen when only one or some cores are 100% usage, not all cores.

Board footer

Powered by FluxBB