Roadmap

* 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.

22 Comments »

  1. anon's avatar

    anon said,

    Are you planning to add a POP mail component?

  2. anon's avatar

    anon said,

    Will you add Proxy support to HTTP component?

  3. almindor's avatar

    almindor said,

    Proxy probably yes, POP has however very low priority. Any additions will get accepted however if they have some minimal quality.

  4. Robert Lakis's avatar

    Robert Lakis said,

    Any planning to enable synchronous socket, at least FTP client.

  5. almindor's avatar

    almindor said,

    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.

  6. war's avatar

    war said,

    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

  7. almindor's avatar

    almindor said,

    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.

  8. Rapid's avatar

    Rapid said,

    What about IPv6 support?

  9. almindor's avatar

    almindor said,

    IPv6 isn’t planned officially but I have looked into it in the past. It shouldn’t be too difficult to add.

  10. LacaK's avatar

    LacaK said,

    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's avatar

      almindor said,

      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.

  11. Rajiv Ranjan's avatar

    Rajiv Ranjan said,

    any time line for the release of Carbon and/or Cocoa support

    Thanks
    Rajiv

    • almindor's avatar

      almindor said,

      Carbon/Cocoa is a bit of a problem for me because I don’t currently have access to a Mac.

  12. kickmartens's avatar

    kickmartens said,

    Hi,

    I am using your lnet package to implement webservices in my winCE app. Everthing works fine if the webservice url is correct. But if its not it just “hangs” indefinitly. I tried to set the timeout prop for lhttpclient but that isnt helpfull.
    any help would be appriciated…

  13. Ludo from fr's avatar

    Ludo from fr said,

    Hello,

    I migrate all my projects under ubuntu/Lazarus.

    I’m not decided about witch component to use for internet.

    The best one should be a component working well on both win/linux/mac os.

    After reading all the documentation about LNet, i finally don’t know if it support mac os…

    So, where is the truth ?

    On the main page https://lnet.wordpress.com/ ยง Tested on:
    mac os is not mentioned.

    Thank you in advance.

    • almindor's avatar

      almindor said,

      lNet NON-VISUAL (console examples, not the component you put on form) is working on MacOsX and is mostly tested by fpc mac users.

      Visual lNet will not work on MacOsX Carbon/Cocoa widgetset (will work on gtk/qt one tho) until I get a Mac working in virtualbox and write the hooks for it (or someone else does it).

  14. devsmt's avatar

    devsmt said,

    i would like to thank you for your excellent library, useful and “to the point” when compared to biger alternatives.
    i’m so enthusiast of it, that i’m asking myself WHY it is not part of lazarus and referred as the default way of doing net operations under fp!

    • almindor's avatar

      almindor said,

      Hey, first of all thanks for all the praise ๐Ÿ˜‰

      Well, currently FPC and Lazarus doesn’t really have a “default” way of doing networking, and since there are two big alternatives (or “mainstreams” perhaps) to lNet people are being careful about such moves. Also, lNet is mainly a one-man show while the other projects are bigger, I think this is another reason why people don’t want to completely “make the jump”. In a sense I think that’s a good thing, because I don’t have the free time I used to have and unless more people actively get to develop the lib, it might stagnate one day.

  15. Dibo's avatar

    Dibo said,

    Are you planning to add websocket component?

  16. vincococka's avatar

    vincococka said,

    is there any chance to have websocket ?

    • almindor's avatar

      almindor said,

      It shouldn’t be too hard to do. However I’m too busy with other projects to do anything but bugfixing atm. If you want to take a jab at it, I’d start by looking how a websocket it “upgraded” form a normal HTTP GET into a stable TCP connection.

      As far as I understand websockets a normal HTTP GET is done first with a special section/header that says “websocket” somehow. Then the server accepts it and “upgrades” the connection confirming it to the client who keeps the TCP stream open. From then on it’s just websocket messaging, low level TCP message-split stuff with a bit of control structure.

      It’s not trivial but if someone needs it it shouldn’t take too long to add. No low level stuff needs to be changed AFAIK, just expand on TLHttp stuff.

  17. Almindor,
    I’m using lNet UDPcomponent under linux as a UDP-server for years without any problems (it serves an Android and an iPhone app), but now Apple insists on using ipv6. As of july 1, 2016, they are testing the apps in a ipv6-only environment.

    So my server has to speak ipv6.

    For http it works, the server has an ipv6 ipnr on the same interface as the ipv4 (eth0).

    As far as I can see I can set only portnr and interface in the Listen() method, but the interface is the same as the ipv4 interface.

    Question: how do I tell an lNet UDP client to listen for ipv6 UDP packets?

    Thanks,
    John


Leave a comment

Design a site like this with WordPress.com
Get started