Lazarus
Programming => Packages and Libraries => Topic started by: huelbert on November 23, 2021, 09:54:25 pm
-
Good afternoon
Is there any way to create a non-blocking http server in Lazarus?
I've tried it with fphttpserver and fphttpapp but it loses packages with more than 100 simultaneous users
-
Hi,
i think you can use INDY (10.6.2.4060). https://wiki.freepascal.org/Indy_with_Lazarus
Download via OPM (Ctrl-Alt-O or Strg-Alt-O) if installed in Lazarus.
-
I'll look into Indy.
Does anyone know how to use fpWeb, fphttpserver or fphttpapplication in async, non-block or working with events?
-
As an alternative you could try the LNET components. Also installable through Online Package Manager.
-
i think you can use INDY
There is nothing non-blocking about Indy. However, in this case, its TIdHTTPServer component is multi-threaded, not non-blocking. Each client runs in its own thread, and then you can perform blocking operations in each thread.
-
You can try new mORMot2 async server. With TRestHttpServer just use useHttpAsync option.