Cross-Platform Socket Component? lazarus / 38-Networking and Web Programming ---------------------------------------------------------------------- KillerCode · 2011-01-04 16:33 i am willing to start a big project in FreePascal/Lazarus, im also looking forward to make it cross platform (Windows, Linux and Mac OSX) and i wanted to know which is the best Sockets component that will work on all? i was working with Indy 9/10 for under Delphi, each client has its Owen thread, is this available on lNet ? or ill have to create a thread for each client manually? or there is another library better than those two? thanks; ---------------------------------------------------------------------- Leledumbo · 2011-01-04 17:16 lNet for RAD style, Synapse for more OOP and advanced style. I'm a bit unsure about Mac OS X support, only Windows and Linux are totally guaranteed to work AFAIK. ---------------------------------------------------------------------- Dibo · 2011-01-04 17:48 I'm using lNet and Synapse on windows and linux without problems. Works on 32 and 64 bit system. The only difference is that lNets are non-blocking sockets. Both sockets works on Windows Mobile too. I also tested Indy before, and worked too. Regards. ---------------------------------------------------------------------- Phil · 2011-01-04 18:36 I was able to get Indy working on Mac with a few patches. I use it with Web Service Toolkit. However, I was never able to get Synapse working on Mac, but it's been a couple years since I tried. If you have success (or failure) on Mac with lnet or Synapse, please post your results. Thanks. -Phil ---------------------------------------------------------------------- KillerCode · 2011-01-05 05:17 ok, thanks all, i think ill go with lNet, just one more question, is does lNet create a separate thread for each client like Indy does? or ill have to create that manually? thanks; ---------------------------------------------------------------------- marcov · 2011-01-05 13:10 I've done some stuff with Indy(10) on Mac in the past, and that worked fine. ---------------------------------------------------------------------- Dibo · 2011-01-05 13:30 Quote from: KillerCode on January 05, 2011, 06:17:02 amok, thanks all, i think ill go with lNet, just one more question, is does lNet create a separate thread for each client like Indy does? or ill have to create that manually? thanks; It doesn't use threads. It uses callback events (see demos). More on: http://wiki.lazarus.freepascal.org/lNet FAQ and basic usage: http://lnet.wordpress.com/ ---------------------------------------------------------------------- Leledumbo · 2011-01-05 17:23 It uses non-blocking sockets, so probably you don't need any thread at all. ---------------------------------------------------------------------- KillerCode · 2011-01-06 13:30 ok ty, ill give the console version a try ---------------------------------------------------------------------- Leledumbo · 2011-01-07 06:51 You should try the gui one, console blocks when asking for input so you probably won't notice anything if a message comes when the app is blocking for input.