Roadmap
- Stress testing [always]
- Addition of Telnet and FTP clients (experimental level) [0.3] (done)
- Cementing of TCP/UDP API [0.3] (done)
- Addition of ICMP Ping/Traceroute protocol [na] (cancelled due to various reasons*)
- Addition of SMTP, HTTP components [0.4] (done)
- Stabilization of Telnet and FTP clients [0.5] (done)
- Addition of MIME streams [0.5.1] (done)
- Addition of Telnet and FTP servers (experimental level) [???]
- Addition of SSL [0.6+] (done)
- Addition of Carbon and/or Cocoa widget set support [0.7+]
- Addition of Qt4 widget set support [0.7+]
- Cleanup of SSL/HTTP (so pure HTTP doesn’t depend on TLSSLSocket) [0.6.x?]
* PING requires raw sockets which are only accessible to root on unix platforms. It was decided that lNet won’t support this, users who need PING should use the ping and ping6 programs via TProcess.
anon said,
August 1, 2008 at 17:08
Are you planning to add a POP mail component?
anon said,
August 1, 2008 at 19:08
Will you add Proxy support to HTTP component?
almindor said,
August 1, 2008 at 19:08
Proxy probably yes, POP has however very low priority. Any additions will get accepted however if they have some minimal quality.
Robert Lakis said,
August 12, 2008 at 20:08
Any planning to enable synchronous socket, at least FTP client.
almindor said,
August 13, 2008 at 09:08
If by Synchronous socket you mean blocking socket operations then you can already do so since 0.5.0 era. You can enable sockets to be blocking by TLSocket.SetState(ssBlocking, True) on lNet 0.6+ or by TLSocket.Blocking := True on 0.5+ versions.
If you need your sockets to be blocking right on create, you can make a TLSocket or TLSSLSocket descendant and override the SetOptions virtual method and change state to blocking right there. Don’t forget to call inherited BEFORE your changes (so even if inherited sets it to non-blocking and other options possibly, you set your own at the end)! Then just assign your socket class to “connection.SocketClass” and you’re done (before first connect/listen attempt). Works for higher protocols too.
Note also that TLSSLSession currently changes the socketclass of it’s connection to TLSSLSocket IF it’s not already set to it or it’s descendant. So you have to use a TLSSLSocket descendant for your socket if you wish to use it (the only reason not to would be to avoid libc in Linux).
Hope this helps, I should update the docs and write some info on these things.
war said,
October 2, 2008 at 10:10
Hey INet is realy nice and multi-platform, do you plan a TIRCClient
Indy have one and are based on
http://users.bigpond.net.au/tinyduck/tslyirc.html
Cool if it can be in inet,but i just wanna ask
Thanks
almindor said,
October 2, 2008 at 11:10
IRC isn’t officially planned however, FPCBot is written with lNet and has already basic client side IRC code in it. I never got to separating it into a proper protocol however. If anyone else does it it’ll get accept of course (provided the quality meets some minimum requirements) but I don’t plan to work on that anytime soon.
Rapid said,
March 23, 2009 at 09:03
What about IPv6 support?
almindor said,
March 23, 2009 at 12:03
IPv6 isn’t planned officially but I have looked into it in the past. It shouldn’t be too difficult to add.
LacaK said,
August 20, 2009 at 10:08
lNet cann’t compile using FPC >= 2.3.1
Error: absolute can only be associated with a var or const
http://wiki.lazarus.freepascal.org/User_Changes_Trunk#Absolute_variable_declarations
Any plans to fix it ? or how to workaround ?
TIA
-Laco.
almindor said,
August 20, 2009 at 11:08
Everything works for me with latest trunk (2.5.1). Can you please recheck? Also write more details (exact error, where it happened, when) to my mail.