Forum > Networking and Web Programming

Lazarus Networking Components



I have come recently to Lazarus and have noticed Synapse. Lnet and Indy as the main networking components.

Is there some overview of how they compare and which ones are more appropriate?

Coming from Delphi, Indy would be the easiest, but I'd like to know about the others as well.


Well, since I'm the author of lNet I'm a bit biased I guess but here goes:

Synapse is a "non-visual" (it doesn't integrate with GUI directly) networking lib which uses blocking sockets and (AFAIK) threads

Indy is a big project with years of development which started on Windows/Delphi and has visual components. Internally it supports both blocking and non-blocking although AFAIK it uses threads as well.

lNet is relatively lightweight, has GUI integration and uses non-blocking sockets (requires a bit of event-driven development thinking). Threading can be done with it (there's an experimental threaded eventer to pool requests and try and get the best of multiple cores etc.)


[0] Message Index

Go to full version