2011/11/26 Graeme Geldenhuys <[email protected]>: > On 26/11/2011, Bernd <prof7bit@....> wrote: >> >> If I were required to begin developing another networking application >> tomorrow I would choose LNet again. > > Is LNet still being developed. The last time I checked, nothing has > changed in the last year or two - or maybe I was just looking in the > wrong place.
3 months, so there are still some signs of life: http://svn.freepascal.org/cgi-bin/viewvc.cgi/lnet/?root=fpcprojects > The other problem with LNet is that it doesn't have a lot of TCP > protocols implemented. This might be a valid point, depending on what you need it for. When I think about network applications I always see myself implementing some obscure rare protocols that sometimes don't even have a name. In my case I needed it for implementing the bitcoin p2p protocol and I already considered doing it with naked sockets alone when I read that bitcoin might eventually switch to using SSL in the near future. lNet seemed to me the simplest way to be prepared for this without needing to depend on a monstrous library of which I would only use 1%. PS: I have stopped working on this one after It has become clear that bitcoin with its massive design flaws can not survive. The remains of my attempted half-finished pascal implementation are buried here: http://code.google.com/p/fpbitcoin/source/browse/trunk (R.I.P.) The code that is using lNet is in bitcoin_p2p_peer.inc.pas Its a thread that makes a connection to another client. LNet calls the callback methods that are assigned in the constructor. The main program starts a hand full of these threads to always stay connected with a few peers. Incoming connections are not yet implemented. If I remember correctly the trick to get blocking IO with lNet was to set the timeout to a non-zero value, then CallAction() will be a blocking call (with a timeout) and then you can easily use one thread per connection. Bernd -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
